Grep Regex:列出除

Grep Regex:列出除,regex,Regex,我正在尝试自动删除文本文件中包含字母“T”且后面不紧跟“H”的所有行。我一直在使用grep,并将输出发送到另一个文件,但我无法想出神奇的正则表达式来帮助我做到这一点 如果grep不是合适的工具,我不介意使用awk、sed或其他linux工具。您可以: grep -v 'T[^H]' input -v是grep的反向匹配选项,它不列出与模式匹配的行 使用的正则表达式是T[^H],它匹配任何作为T后跟除H以外的任何字符的行: grep -v 'T[^H]' -v:打印行不匹配 [^H]:匹配任何

我正在尝试自动删除文本文件中包含字母“T”且后面不紧跟“H”的所有行。我一直在使用grep,并将输出发送到另一个文件,但我无法想出神奇的正则表达式来帮助我做到这一点

如果grep不是合适的工具,我不介意使用awk、sed或其他linux工具。

您可以:

grep -v 'T[^H]' input
-v
是grep的反向匹配选项,它不列出与模式匹配的行

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

grep -v 'T[^H]'
-v:打印行不匹配


[^H]:匹配任何字符,但H

不需要
*
的两个实例,因为grep会扫描整行以查找匹配项