我试图找到并替换文件夹中的字符串。找到并替换文件中的字符串
有人可能帮助我吗?
我的脚本如下:
#!/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