【问题标题】:Print out only the first column in a non-standard CSV file仅打印非标准 CSV 文件中的第一列
【发布时间】:2014-03-10 17:49:34
【问题描述】:

我有一个用逗号“,”分隔的文件,但有些行只有一列,有些行有多列,用“,”分隔。例如:

NM_001066
NM_015378,NM_018156
NM_001006624,NM_001006625,NM_006474,NM_198389

正如你在上面看到的,第三行有 4 列由“,”分隔,但我只需要获取每一行的第一列。

我尝试使用 awk:cat fileName.txt | awk '{print $1}',但它不起作用。我正在寻求帮助。谢谢!

【问题讨论】:

    标签: csv awk


    【解决方案1】:

    我猜你正在寻找这个:

    awk -F, '{print $1}' file.txt
    

    -F, 告诉awk 使用逗号作为字段分隔符。

    在这个简单的例子中,同样的事情用cut 更简单:

    cut -f1 -d, file.txt
    

    【讨论】:

    • 谢谢,所以 "-d," 告诉 cut 使用逗号 "," 作为分隔符,对吗?感谢您的帮助
    【解决方案2】:

    你很接近:

    awk -F, '{print $1}' file
    

    awk -F, '$0=$1' file
    

    【讨论】:

      猜你喜欢
      • 2015-01-23
      • 2017-04-24
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 2013-02-12
      相关资源
      最近更新 更多