linux - 使用 grep 命令匹配特定列

标签 linux grep match

我在使用 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}' *

关于linux - 使用 grep 命令匹配特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390292/

相关文章:

c - 使用 stat (st_uid) 的段错误(核心转储)

java - 正则表达式允许 1.00、.10 或 10。但不允许单个小数

java - 子图匹配(JUNG)

GREP_OPTIONS ='--color=always' 导致非打印字符

bash - 查找文件中仅包含列表中单词的行

Python-我如何使用 re 来匹配整个字符串

python - 如何在Python中确定集合变量的大小?

linux - 如何从我的 CSV 文件输出中删除 NONREF,以便在脚本运行时不打印该行?

python - Linux命令输出到字典-python

linux - 按唯一列值对 CSV 进行子集化