假设多行文本文件file
。如果满足不同行上的两个条件,则删除行
$cat file
foo bar baz
foo bar baz qux
foo bar baz quux # Line to be deleted
foo bar quux
我希望删除所有那些fullfill两个条件线:(a)该行包含关键字“QUUX”,和(b)的线是立即由包含一个线preceeded关键字“qux”。
$cat file | sought_command
foo bar baz
foo bar baz qux
foo bar quux
我很茫然作为UNIX工具可以应用到这样的双重条件(可能AWK,但我不确定),并希望建议。
编辑1: 一旦被通知awk
是使用工具和在考虑的任务进一步,我要找专门为代码,可以很容易地被修改,使得条件(b)可以反转(即, “(b)如果有必要,该行不会立即包含关键字'qux'”的行)。
无需不知所措:S /老/新=> sed和克/ RE/P => grep和别的(例如。)=> awk。现在 - 你在寻找字符串还是正则表达式比较以及部分或全部匹配? –