100

私のダミーファイルは次のようになります。

C1    C2    C3    
1     a     snow   
2     b     snowman 
snow     c     sowman

snow$3に文字列があれば行を取得したい。私はこれを次のように行うことができます:

awk '($3=="snow" || $3=="snowman") {print}' dummy_file

しかし、もっと簡単な方法があるはずです。

4

5 に答える 5

188
awk '$3 ~ /snow/ { print }' dummy_file 
于 2013-06-08T17:11:29.273 に答える
10

多分これが役立つでしょう

http://www.math.utah.edu/docs/info/gawk_5.html

awk '$3 ~ /snow|snowman/' dummy_file
于 2013-06-08T17:09:17.993 に答える
2

GNU シード

sed '/\s*\(\S\+\s\+\)\{2\}\bsnow\(man\)\?\b/!d' file

入力:

C1 C2 C3    
1 雪   
2b 雪だるま
スノーCソーマン
      スノースノースノーマンクス

..出力:

1 雪
2b 雪だるま
于 2013-06-08T18:34:02.380 に答える