我有麻烦匹配特定列与grep命令。 我有一个testing文件(test.txt)像这样..
Bra001325 835 T 13 c$c$c$c$c$cccccCcc !!!!!68886676 Bra001325 836 C 8 ,,,,,.,, 68886676 Bra001325 841 A 6 ,$,.,,. BJJJJE Bra001325 866 C 2 ,. HJ
我想提取所有那些在第二列有866
号的行。 当我使用grep
命令时,我正在获取包含数字的所有行
grep "866" test.txt Bra001325 835 T 13 c$c$c$c$c$cccccCcc !!!!!68886676 Bra001325 836 C 8 ,,,,,.,, 68886676 Bra001325 866 C 2 ,. HJ
我怎样才能匹配特定的列与grep命令?
尝试这样做:
$ awk '$2 == 866' test.txt
不需要添加{print}
, awk
的默认行为就是在true
条件下打印。
用grep :
$ grep -P '^\S+\s+866\b' *
但awk可以打印文件名也比grep更健壮:
$ awk '$2 == 866{print FILENAME":"$0; nextfile}' *