xargs +sed question
Amadeus W. M.
amadeus84 at verizon.net
Thu Dec 7 02:31:56 UTC 2006
I'd normally ask this in comp.os.linux.misc, but my news server is not
responding, so I'm asking it here.
I have a bunch of files in a directory tree in which I want to replace a
string A with string B. I'm trying to do this with xargs like so:
grep -ri -l A . | xargs sed -e 's/A/B/g'
and this does what I want, except, of course, that it outputs everything
to stdout. Is there any way to pass the name of each input file as
output for sed?
Of course, I an do
for file in `grep -ri -l A .`
do
cat $file | sed -e 's/A/B/g' > tmp
/bin/mv tmp $file
done
but the xargs method seems more elegant if there was a way to specify
separate output files. Suggestions?
Thanks!
More information about the fedora-list
mailing list