如何限制grep只搜索CSV文件中的一列,而是整体输出匹配的行?

时间:2012-04-12 06:27:54

标签: csv grep

如何使用grep仅搜索CSV文件中的一列,但在找到匹配项后,输出整行? E.g:

fish @ eats worms
bear @ eats fish

在第2列中搜索fish将输出:bear @ eats fish

2 个答案:

答案 0 :(得分:5)

...使用awk ......

awk -F@ '{if ($2 ~ /fish/) { print $0; }}' <input file>

使用shell变量更改单引号以加倍并转义awk变量(soo awk仍然看到$ 2等,而不是shell的扩展。

awk -F@ "{if (\$2 ~ /$find_me/ ) { print \$0; } }" <input_file>

答案 1 :(得分:0)

使用grep

grep ^.*@.*fish.*$ file.txt
相关问题