[linux-l] xargs input name

Baerwaldt, Ralf Ralf.Baerwaldt at Dresdner-Bank.com
Mo Apr 7 13:08:44 CEST 2003


> find . -type f -print0 | xargs --null sed -e "s/hda3/hda1/g"

export TP=/tmp/losch.$$
find . -type f -print0 |
  xargs --null -n 1 -i+ bash -c "cp '+' $TP; \
	 sed -e 's/hda3/hda1/g' <$TP >$TP.1 && cp $TP.1 '+' "
rm $TP

Bemerkungen:
===========
-)  Die Reihenfolge "--null -n 1 -i+ bash" scheint wichtig zu sein.
-)  + wird als Platzhalter definiert (-i+)
-)  zwischen i und + darf kein Leerzeichen stehen
-)  + wird in (') eingeschlossen damit der Filename auch Sonderzeichen
    enthalten darf

Gruss Ralf Baerwaldt, BBCONS GmbH, http://www.bbcons.de



Mehr Informationen über die Mailingliste linux-l