[linux-l] xargs input name
Oswald Buddenhagen
ossi at kde.org
Mo Apr 7 14:17:45 CEST 2003
On Mon, Apr 07, 2003 at 01:08:44PM +0200, Baerwaldt, Ralf wrote:
> > 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
>
wenn schon so, dann
find . -type f -print0 |
xargs --null -n 1 -i+ bash -c \
" sed -e 's/\<hda3\>/hda1/g' <'+' >'+.new' && mv '+.new' '+' "
aber zum glück gibt es ja gnu sed. :-)
find . -type f -exec sed -i -e 's/\<hda3\>/hda1/g' {} \;
bzw.
find . -type f -print0 |
xargs --null sed -i -e 's/\<hda3\>/hda1/g'
wenn es um viele files geht (spart sed-aufrufe).
dann gibt es noch 'rpl' ...
> Bemerkungen:
> ===========
> [...]
> -) + wird in (') eingeschlossen damit der Filename auch Sonderzeichen
> enthalten darf
>
zu dumm, wenn das sonderzeichen ein ' ist ...
gruß
--
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!
--
Chaos, panic, and disorder - my work here is done.
Mehr Informationen über die Mailingliste linux-l