Centos中查找并替换某个目录下所有文件中的某个字符

1.批量查找某个目下文件的包含的内容
cd etc
grep -rn "查找的内容" ./
文件内容比较多的话,执行完命令需要等一会。

2.批量替换某个目下所有包含的文件的内容
还是以etc目录为例

cd etc
sed -i "s/查找的内容/替换后的内容/g" `grep -rl "查找的内容" ./`

 

用sed命令可以批量替换多个文件中的字符串。

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

例如:我要把mahuinan替换为huinanma,
执行命令:

sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'

这是目前linux最简单的批量替换字符串命令了!
具体格式如下:

sed -i "s/oldString/newString/g" `grep oldString -rl /path`

实例代码:

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

注意转义:
实例:

sed -i "s/<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/query.min.js" type="text/javascript"></script>/ /g" `grep '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>' -rl test/`

sed -i "s/https://code.jquery.com/jquery-1.12.4.min.js/<%=basePath%>/js/jquery/jquery-1.12.4.min.js/g" `grep -rl "https://code.jquery.com/jquery-1.12.4.min.js" ./`
————————————————
版权声明:本文为CSDN博主「rhsy445566」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rhsy445566/article/details/107594474

原文地址:https://www.cnblogs.com/liulj0713/p/15479484.html