【发布时间】:2011-05-25 04:28:23
【问题描述】:
我正在尝试在文件文件夹中查找和替换字符串。
有人可以帮助我吗?
我的脚本如下:
#!/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”,但这只会打印到屏幕上。
我需要它来替换文件本身。
谢谢
【问题讨论】:
标签: file shell scripting replace