csv - 如何限制 grep 仅搜索 CSV 文件中的一列,但要完整输出匹配的行?

标签 csv grep

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

fish @ eats worms
bear @ eats fish

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

最佳答案

...使用awk...

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

要使用 shell 变量将单引号更改为双引号并转义 awk 变量(所以 awk 仍然看到 $2 等,而不是 shell 对它们的扩展。
awk -F@ "{if (\$2 ~ /$find_me/ ) { print \$0; } }" <input_file>

关于csv - 如何限制 grep 仅搜索 CSV 文件中的一列,但要完整输出匹配的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118468/

相关文章:

c# - CSV实际上是....分号分隔值...(AZERTY上的Excel导出)

csv - 数据表下载 xls/csv 文件无法正常工作

bash - 正则表达式解析字符串以提取shell脚本中的数字

linux - grep 第 n 行 linux 的一部分

linux - 在 block 设备上返回字节偏移量和行匹配表达式?

Python 数据转 CSV

javascript - D3 - 无法从 csv 获取压缩圆圈

linux - 使用我的 awk 脚本从 CSV 文件中恢复信息

awk - 使用 awk 输出的每一行作为 grep 模式

bash - 将磁盘添加到 fstab(如果不存在)的脚本