shell :linux sed 批量替换字符串

shell :linux sed 批量替换字符串,第1张

Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。

命令如下:

sed -i "s/原字符串/新字符串/g" grep 原字符串 -rl 所在目录

例如:我要把www目录下的所有文件里的 charset=gb2312 替换为 charset=UTF-8,执行命令:

sed -i "s/charset=gb2312/charset=UTF-8/g" `grep charset=gb2312 -rl /www`

即可。

解释一下:

-i 表示inplace edit,就地修改文件

-r 表示搜索子目录

-l 表示输出匹配的文件名

这个命令组合很强大,要注意备份文件。

sed是行编辑器,用这个工具非常困难。可以参考以下脚本:

#!/bin/bash

while read line

do

if echo $line | grep 'Hour$' >/dev/nullthen

echo $line | tr -d '\n'

else

echo $line

fi

done <$1

1,将上面脚本保存为fuck.sh

2,chmod 755 fuck.sh

3,./fuck.sh file


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/7369685.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存