найти и заменить строку в файле

Я пытаюсь найти и заменить строку в папке с файлами.

Может ли кто-нибудь мне помочь?

Мой сценарий выглядит следующим образом:

#!/bin/bash
OLD="This is a"
NEW="I am a"
DPATH="/home/user/test/*.txt"
BPATH="/home/user/test/backup/foo"
[ ! -d $BPATH ] && mkdir -p $BPATH || :
for f in $DPATH
do
  if [ -f $f -a -r $f ]; then
    /bin/cp -f $f $BPATH
    sed "s/$OLD/$NEW/g" "$f"
   else
    echo "Error: Cannot read $f"
  fi
done

Теперь это кажется найти строку 'This is a' и заменить ее на 'I am a', но она выводится только на экран.

Мне нужно заменить ее в самих файлах.

Спасибо

15
задан codaddict 15 December 2010 в 03:42
поделиться