Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

files0-from

5 views
Skip to first unread message

Stefan Froehlich

unread,
Nov 4, 2023, 2:23:44 PM11/4/23
to
Da bin ich gerade über die Option files0-from gestoßen (bei find, in
weiterer Folge dann aber auch noch bei diversen anderen GNU-tools).

Nette Sache, damit könnte man z.B. mit find eine Liste an Dateien
oder Verzeichnissen erzeugen und die dann an das Tool seiner Wahl
verfüttern, ohne über das etwas sperrige -exec gehen zu müssen. Also
ausprobiert:

#v+
find . -type d -name "test" -print0 |xargs -0 du -s --files0-from=-
du: extra operand ‘./test’
file operands cannot be combined with --files0-from
#v-

Was möchte mir du damit sagen? Ich habe ja gerade eben *keinen* file
operand angegeben, sondern "NUL-terminated file names" über standard
input, genau wie die man-Page das nahelegt.

Zugegeben, es ist ein eher dummes Beispiel, weil man das Konstrukt
für du gar nicht braucht; bei anderen Befehlen aber sehr wohl, und
es geht mir ums Prinzip. Der erste Teil der Kette liefert:

#v+
find . -type d -name "test" -print0 | xargs -0
./test
#v-

Und der zweite, simuliert, funktioniert ebenfalls:

#v+
du -s ./test
4 ./test
#v-

Was also habe ich da eingangs falsch gemacht?

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan: die Macht zu verführen!
(Sloganizer)

Marcel Logen

unread,
Nov 4, 2023, 3:11:40 PM11/4/23
to
Stefan Froehlich in de.comp.os.unix.linux.misc:

>#v+
>find . -type d -name "test" -print0 |xargs -0 du -s --files0-from=-
>du: extra operand ‘./test’
>file operands cannot be combined with --files0-from
>#v-
>
>Was möchte mir du damit sagen? Ich habe ja gerade eben *keinen* file
>operand angegeben, sondern "NUL-terminated file names" über standard
>input, genau wie die man-Page das nahelegt.

Gib bei xargs mal die Option -t (oder -p) an. Dann soll-
test Du besser sehen, was passiert.

Ich vermute, daß hier zwischen stdin von xargs und stdin
von du unterschieden werden muß.

Marcel
--
╭─╮ ╭───────╮ ╭──────╮ ╭─╮ ╭──────────╮ ..67..
...1..│ ╰──╮ ╰────╮ │ ╰────╮ ╰─╮ ╭────╮ │ ╰─╯ ╭────╯ ╭──╮
╭─╮ │ ╭─╯ ╭─╮ ╭─╯ ╰──╮ ╭─╮ │ │ │ ╰───╯ ..52..╰───╮ ╭─╯ ╰─╮
──╯ ╰─╯ ╰───╯ ╰─╯ ╰─╯ ╰──╯ ╰─╯ ╰─╯..65..╰─

Stefan Froehlich

unread,
Nov 4, 2023, 3:25:14 PM11/4/23
to
On Sat, 04 Nov 2023 20:11:37 Marcel Logen wrote:
> Stefan Froehlich in de.comp.os.unix.linux.misc:
>>#v+
>>find . -type d -name "test" -print0 |xargs -0 du -s --files0-from=-
>>du: extra operand ‘./test’
>>file operands cannot be combined with --files0-from
>>#v-
>>
>>Was möchte mir du damit sagen? Ich habe ja gerade eben *keinen* file
>>operand angegeben, sondern "NUL-terminated file names" über standard
>>input, genau wie die man-Page das nahelegt.
>
> Gib bei xargs mal die Option -t (oder -p) an. Dann soll-
> test Du besser sehen, was passiert.

Ich war einfach ein bisserl dumm :-)

xargs schickt die Liste ja überhaupt nicht nach stdin, sondern hängt
sie an die Befehlszeile an. xargs also einfach ganz weglassen, und
alles ist gut...

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan - üppige Gifte verdient das Land!
(Sloganizer)

Thomas Dorner

unread,
Nov 4, 2023, 3:38:03 PM11/4/23
to
Stefan...@Froehlich.Priv.at (Stefan Froehlich) writes:

> #v+
> find . -type d -name "test" -print0 |xargs -0 du -s --files0-from=-
> du: extra operand ‘./test’
> file operands cannot be combined with --files0-from
> #v-
>
> Was also habe ich da eingangs falsch gemacht?

--files0-from=- mit xargs kombiniert, laß das "xargs -0" weg.

vgt
--
Adresse gilt nur kurzzeitig!
0 new messages