Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 用Mac终端搜索CSV文件_Macos_Unix_Csv_Terminal_Grep - Fatal编程技术网

Macos 用Mac终端搜索CSV文件

Macos 用Mac终端搜索CSV文件,macos,unix,csv,terminal,grep,Macos,Unix,Csv,Terminal,Grep,我有一个2GB的csv文件,有数百万行和15列。。像这样的,, ID、状态、值1、值2等 我正在尝试搜索包含多个匹配项的行。例如,ID=123、State=CA和值2=100的所有行 我已经能够在单值搜索中使用grep($grep'CA'file.csv),但我还没有弄清楚如何在多个匹配中使用grep 有人能帮我吗?我不是一个编码器,但希望能够使用Mac终端对大型CSV文件进行基本解析 谢谢 您可以通过管道将一个命令的输出传输到另一个grep,如下所示: grep "CA" file.csv |

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

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

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

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


谢谢

您可以通过管道将一个命令的输出传输到另一个grep,如下所示:

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

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

awk -F "," '$1 == 100 && $3 eq "banana"' mydata.csv
-F指定分隔符为逗号。 第一列的逻辑值仅为$1,第二列的逻辑值仅为$2,以此类推。 如果要比较字符串,请使用eq 如果要比较数字,请使用==
我使用了一个名为mydata.csv的示例数据文件,您可能应该签出它。