使用Mac终端搜索CSV文件

时间:2014-05-09 23:13:00

标签: macos unix csv terminal grep

我有一个2GB的csv文件,包含数百万行和15列......就像这样, ID,状态,值1,值2等

我正在尝试搜索包含多个匹配项的行。例如,ID = 123,State = CA和Value 2 = 100的所有行。

我已经能够使用grep进行单值搜索($ grep'CA'file.csv),但我还没有弄清楚如何使用grep进行多次匹配。

有人能帮助我吗?我不是编码员,但希望能够使用Mac终端对大型CSV文件进行基本解析。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以将一个命令的输出传递给另一个grep,如下所示:

grep "CA" file.csv | grep 123 | grep 100

答案 1 :(得分:0)

另一种可能稍微快一点的方法,因为它只扫描文件一次就是使用awk。

awk -F "," '$1 == 100 && $3 eq "banana"' mydata.csv

-F指定分隔符是逗号。 对于第二列等,第一列$ 2的逻辑仅为1美元。 如果你要比较字符串使用eq 如果您要比较数字,请使用== 我使用了名为mydata.csv的示例数据文件