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)