linux sed 批量替换多个文件中的字符串

时间:2022-04-15 00:21:38

转载至:http://blog.csdn.net/kauu/article/details/1757325

linux sed 批量替换多个文件中的字符串

sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替换/home下所有文件中的www.admin99.net为 admin99.net

sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

这个` 符号是tab键上边,数字1左边的那个,不是单引号 '

 

如果所有待处理的文件都在一个文件夹下,可以这么写。
如果所有待处理的文件处于多个文件夹下,这样写会报错,因为sed无法处理文件夹,必须加上 "grep -rl",这样可以跳过文件夹而直接列出文件。