5

如何grep在 CSV 文件中仅搜索一列,但在找到匹配项后输出整行?例如:

fish @ eats worms
bear @ eats fish

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

4

2 回答 2

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>
于 2012-04-12T06:33:07.810 回答
-1

使用grep

grep ^.*@.*fish.*$ file.txt
于 2014-08-17T14:23:23.023 回答