【问题标题】:Searching CSV file using Mac Terminal使用 Mac 终端搜索 CSV 文件
【发布时间】:2014-05-09 23:13:00
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

标签: macos unix csv terminal grep


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 1970-01-01
      • 2023-03-03
      • 2012-05-02
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多