sed xargs 批量替换

批量替换语法
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
sed -i "s/oldString/newString/g"  `grep oldString -rl /path`   

sed -i "s/192.168.1.1:8080/127.0.0.1:8081/g" `grep 192.168.1.1:8080 -rl ./`
grep -rn "192.168.1.1:8080"

sed -i "s/127.0.0.1:8081/192.168.1.1:8080/g" `grep "127.0.0.1:8081" -rl ./`
grep -rn "127.0.0.1:8081"    查询文件详细信息
grep -rnl "127.0.0.1:8081"    查询文件概要信息


vim 替换:
% 全部替换  不带 % 只替换查找到的
#替换每一行的第一个a
:%s/a/b/

#全部替换
:%s/a/b/g

#替换/时需要转义"\/"


xargs sed 批量替换文件内容
sed 批量替换文件内容
Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。
用sed命令可以批量替换多个文件中的 字符串。

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
1
例如:我要把mahuinan替换 为huinanma,执行命令:

sed -i "s/mahuinan/huinanma/g" `grep mahuinan -rl /www`
1
这是目前linux最简单的批量替换字符串命令了!
具体格式如下:

sed -i "s/oldString/newString/g"  `grep oldString -rl /path`
1
实例代码:

sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`
1
2
补充说明:
sed -i "s/oldString/newString/g"  `grep oldString -rl /path`    
1
对多个文件的处理可能不支持,需要用 xargs, 搞定。
变种如下:

grep oldString -rl /path | xargs sed -i "s/oldString/newString/g" 
————————————————
版权声明:本文为CSDN博主「壹龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/elong490/article/details/52587171
 

你可能感兴趣的:(sed xargs 批量替换)