for x in `find . -name '*.txt'`
do
sed 's/a/b/g' $x >$x.new
cat $x.new >$x
rm -f $x.new
done
nobbiew schrieb:Das Problem liegt daran, dass sed nur auf die Standardausgabe ausgibt und eine Umleitung in die Ursprungsdatei nicht funktioniert, da diese zu dem Zeitpunkt exclusiv von sed geöffnet ist.
for x in `find . -name '*.txt'`
do
cat $x | sed 's/a/b/g' >$x
done