以外的所有行我試圖自動從包含字母「T」的文本文件中刪除所有行,緊接着不是緊跟着「H」。我一直在使用grep並將輸出發送到另一個文件,但我無法想出能幫助我做到這一點的神奇正則表達式。Grep正則表達式:列出除
如果grep不是正確的工具,我不介意使用awk,sed或其他linux工具。
以外的所有行我試圖自動從包含字母「T」的文本文件中刪除所有行,緊接着不是緊跟着「H」。我一直在使用grep並將輸出發送到另一個文件,但我無法想出能幫助我做到這一點的神奇正則表達式。Grep正則表達式:列出除
如果grep不是正確的工具,我不介意使用awk,sed或其他linux工具。
應該這樣做:
grep -v 'T[^H]'
-v:打印線不匹配
[^ H]:匹配任何字符除H
你可以這樣做:
grep -v 'T[^H]' input
-v
是grep的逆匹配選項沒有列出匹配模式的行。
中使用的正則表達式是T[^H]
其中,作爲一個T
隨後通過除H
其他任何字符的任何行匹配。
的'兩個實例*'是沒有必要的,因爲grep掃描整個行尋找匹配 – 2012-04-17 10:53:36
謝謝你的評論。編輯反映這一點。 – byrondrossos 2012-04-17 13:35:20