Linux批量查找与替换

Linux批量查找并替换文件夹下所有文件的内容

经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换。

语法格式:

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

  

实例:

1.实现批量查找当前目录下包含 baidu 字符串的所有文件,例如:

grep -rn "baidu" ./

  

2.实现批量查找并替换当前文件夹下的包含 baidu.com 字符串的所有文件,并将其替换成 qq.com。

sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" ./`

  

3.实现批量查找并替换/data文件夹下的包含 baidu.com 字符串的所有文件,并将其替换成 qq.com。

sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" /data/`


使用命令时注意命令与参数之间空格的存在!

4.更复杂的实例,批量替换网址 https://www.baidu.com 为 https://www.qq.com/hb

sed -i "s/https://www.baidu.com/https://www.qq.com/hb/g" `grep -rl "https://www.baidu.com" ./`

  

原文地址:https://www.cnblogs.com/morgan363/p/11007389.html