Chinaunix
标题:
请教如何用sed实现删除以某个字符开头,并且不包含另外一个关键字符的行
[打印本页]
作者:
jiawei2426
时间:
2019-06-17 16:01
标题:
请教如何用sed实现删除以某个字符开头,并且不包含另外一个关键字符的行
请教如何用sed实现删除以某个字符开头,并且不包含另外一个关键字符的行:
举例如下:
原文件:
aaa
bbb ccc
ddd
eee
aaa
ggg hhh
ddd
mmm
aaa
bbb hhh kkk mmm
nnn bbb hhh
ddd
eee
执行完sed命令之后的文件:
aaa
bbb ccc
ddd
eee
aaa
ggg hhh
ddd
mmm
nnn bbb hhh
ddd
eee
作者:
jiawei2426
时间:
2019-06-17 16:13
已经找到解决办法:
sed -i '/^aaa/{/ddd/!d}' file
作者:
cfwyy
时间:
2019-06-17 16:47
乱入一个awk的方法
:
awk '{if(!($0 ~/^aaa/ && $0 !~/ddd/)) print}' file.txt
复制代码
作者:
wh7211
时间:
2019-06-21 12:26
回复
1#
jiawei2426
awk 'match($0,"^aaa.+ddd|^[^a].+")' file
复制代码
作者:
csccyab
时间:
2019-06-21 16:44
$ sed '/^aaa/{/ddd/!s/.*//}' file
复制代码
aaa bbb ccc ddd eee
aaa ggg hhh ddd mmm
nnn bbb hhh ddd eee
作者:
csccyab
时间:
2019-06-21 16:46
jiawei2426 发表于 2019-06-17 16:13
已经找到解决办法:sed -i '/^aaa/{/ddd/!d}' file
這個方法不會打第三行
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2