首页 > Linux系统管理 > sed 批量替换多个文件内容
2019
04-23

sed 批量替换多个文件内容

平常需要替换多个文件里的内容,通过sed命令就可以很方便的替换。

sed -i “s/原字符串/新字符串/g”  `grep  -rl 原字符串 所在目录`
解释:
1. sed -i  :  直接替换文件内容。
2. sed ‘s/要被取代的字串/新的字串/g’ 这种模式是一种替换模式,但是这样是直接输出,不会修改文件;要修改文件,需要加上-i.
3. grep -r 搜索子目录查找, -l 表示输出匹配到的文件名。
4. 反引号“ ,是将里面的字符串当做命令执行。

例子: 替换h目录所有文件的listen  ,替换为:listen_new

sed -i ‘s/listen/listen_new/g’  `grep -rl listen  ./h/*`

sed -i 's/114.114.114.114:3306/127.0.0.1:3306/g'  `grep -rl 114.114.114.114  *`
sed -i 's/127.0.0.1:3307/127.0.0.1:3306/g'  `find . -maxdepth 2 -type f -name "databaseconfig.php"|xargs -i grep -rl 127.0.0.1:3307 {}`
最后编辑:
作者:saunix
大型互联网公司linux系统运维攻城狮,专门担当消防员