sed替换特定行的字符串

来源:互联网 发布:含视黄醇的护肤品知乎 编辑:程序博客网 时间:2024/05/15 15:16
文本内容如下:
aaa bbb ccc 111 222 abc
eee fff ggg 111 222 efg
111 222
aaa ccc ddd 111 222 acd

需求:
在有aaa的行中,将 111 替换为 AAA,将 222 替换为 BBB
即,输出结果为:
aaa bbb ccc AAA BBB abc
eee fff ggg 111 222 efg
111 222
aaa ccc ddd AAA BBB acd



方法如下:
sed -i '/aaa/ { s/111/AAA/g;  s/222/BBB/g; }'  filename


把某个用户注销掉:
sed -i '/shaoping/ { s/\/bin\/bash/\/sbin\/nologin/g; }' /etc/passwd