1 sed 命令,替换含有指定字符的一整行数据
eg:lb目录下有两个文件 1.conf, 2.conf;内容分别如下:
1.conf
li
hu
@IP_PORT:(127.0.0.1) 8235
2.conf
liu
zhao
@IP_PORT:(127.0.0.1) 8235
现在需要将IP_PORT这一行统一修改为:@IP_PORT:(1.1.1.1)8080
执行命令如下:
sed -i 's/^@.*/@IP_PORT:(127.0.0.1) 8235/g' `grep @.* -rl /home/work/lb`
解释:sed -i :表示直接编辑文件(edit in place);
s:表示要替换
^@.*:匹配@开始的一行
@IP_PORT:(127.0.0.1) 8235:要替换的文本内容
g:指定处理范围
grep @.* -rl /home/work/lb:在lb 这个目录下查找所有文件