linux 基本操作积累

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 这个目录下查找所有文件

  

猜你喜欢

转载自www.cnblogs.com/LiuBingBlogs/p/9131059.html