Grep Regex:列出除了以外的所有行

时间:2012-04-17 10:44:34

标签: regex

我正在尝试自动删除包含字母“T”的文本文件中的所有行,该字母不会立即跟随“H”。我一直在使用grep并将输出发送到另一个文件,但我无法想出能够帮助我做到这一点的魔法正则表达式。

如果grep不是正确使用的工具,我不介意使用awk,sed或其他一些linux工具。

2 个答案:

答案 0 :(得分:66)

应该这样做:

grep -v 'T[^H]'

-v:打印行不匹配

[^ H]:匹配除H

之外的任何字符

答案 1 :(得分:9)

你可以这样做:

grep -v 'T[^H]' input

-v是grep的反向匹配选项,它不会列出与模式匹配的行。

使用的正则表达式是T[^H],它匹配T后跟除H以外的任何字符的所有行。