我有一个2GB的csv文件,包含数百万行和15列......就像这样, ID,状态,值1,值2等
我正在尝试搜索包含多个匹配项的行。例如,ID = 123,State = CA和Value 2 = 100的所有行。
我已经能够使用grep进行单值搜索($ grep'CA'file.csv),但我还没有弄清楚如何使用grep进行多次匹配。
有人能帮助我吗?我不是编码员,但希望能够使用Mac终端对大型CSV文件进行基本解析。
谢谢!
答案 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的示例数据文件