簡體   English   中英

使用grep命令匹配特定列

[英]Match specific column with grep command

我在使用grep命令匹配特定列時遇到問題。 我有一個這樣的測試文件(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 -P '^\S+\s+866\b' *

也可以打印文件名,並且比更強大:

$ awk '$2 == 866{print FILENAME":"$0; nextfile}' *

在我的例子中,字段分隔符不是空格而是逗號。 所以我必須添加它,否則它對我不起作用(在ubuntu 18.04.1上)。

awk -F ', ' '$2 == 866' test.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM