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`
这个` 符号是F1下边,tab键上边,数字1左边的那个,不是单引号 '
简单吧,就这么简单,不过我真傻,以前为了实现这个功能,居然写了N长的一个shell.........那个寒啊~~
这个地方是` 不是 ' F1键的下边,tab键的上边
sed -i 's/oldstring/newstring/g' *
如果所有待处理的文件处于多个文件夹下,这样写会报错,因为sed无法处理文件夹,必须加上 "grep -rl",这样可以跳过文件夹而直接列出文件。