1

以下に示すように、タブ区切りのテキスト ファイルがあります。

27  1   hom het:het    het,het,het,het
18  1   hom het:het    hom,het,het,het,het,het,het
29  1   hom het:het    hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom,hom
13  1   hom het:het    het,het,het,het,het,het
21  1   hom het:het    hom,het,het,het,het,het,hom,het,hom,het,het,het,hom
25  1   hom het:het    het,hom,het,het,het
29  1   hom het:het    hom,hom,het,hom,het,het,hom,het,het,hom,het,hom,het,hom
18  1   hom het:het    het,het,het
19  1   hom het:het    het,het,hom,het,het,het,het,het,het,hom,het,het,hom,het

5列目に「hom」がある行を除外したい。つまり、出力は次のようになります。

27  1   hom het:het    het,het,het,het
13  1   hom het:het    het,het,het,het,het,het
18  1   hom het:het    het,het,het

unix コマンドを使用して何かヘルプはありますか?

4

2 に答える 2

5

Awk はこれに最適です。

$ awk '$5!~/\<hom\>/' file
27  1   hom het:het    het,het,het,het
13  1   hom het:het    het,het,het,het,het,het
18  1   hom het:het    het,het,het

説明:

$5         # is the fifth column
!~         # negated regex match 
/          # start regex string
\<         # matches the empty string at the beginning of a word.
hom        # matches the literal string 'hom'
\>         # matches the empty string at the end of a word.
/          # end regex string
于 2013-10-08T14:24:56.707 に答える