加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:55:58 所属栏目:安全 来源:网络整理
导读:我试图找到并替换文件夹中的一个字符串. 有人可能帮我吗? 我的脚本如下: #!/bin/bashOLD="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 $DPATHdo if [ -f $f -a
我试图找到并替换文件夹中的一个字符串.

有人可能帮我吗?

我的脚本如下:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读