我試圖找到並替換文件夾中的字符串。找到並替換文件中的字符串
有人可能幫助我嗎?
我的腳本如下:
#!/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
現在,這似乎找到字符串「這是一個」與「我是」,但這只是打印到屏幕代替。
我需要它來替換文件本身。
感謝
工作很好!我知道我錯過了什麼。謝謝 – terrid25 2010-12-14 10:33:56
好的,有沒有簡單的方法來修改我的shell腳本,以便它將檢查子文件夾?/home/user/test/xyz? – terrid25 2010-12-14 10:43:36
#!bin/bash OLD =「這是一個」 NEW =「我是」 BPATH =「/ home/user/backup/foo」 find。 -name'* .shtml'-type f | 同時讀取文件名 做 /斌/ CP -f $文件名$ BPATH 使用sed -i 「S/$ OLD/$ NEW/G」 $文件名 做 – terrid25 2010-12-14 11:28:11