找到并替换文件中的字符串

前端之家收集整理的这篇文章主要介绍了找到并替换文件中的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找到并替换文件夹中的一个字符串.

有人可能帮我吗?

我的脚本如下:

#!/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

现在,这似乎找到了字符串“这是一个”,并替换为“我是一个”,但这只打印到屏幕.

我需要它来替换文件本身.

谢谢

使用sed的-i选项进行更改:
sed -i "s/$OLD/$NEW/g" "$f"
    ^^

猜你在找的Bash相关文章