仅打印非标准CSV文件中的第一列

时间:2014-03-10 17:49:35

标签: csv awk

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

NM_001066
NM_015378,NM_018156
NM_001006624,NM_001006625,NM_006474,NM_198389

如上所示,第三行有4列用“,”分隔,但我只需要获取每一行的第一列。

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

2 个答案:

答案 0 :(得分:5)

我想你正在寻找这个:

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

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

在这个简单的例子中,使用cut

更简单
cut -f1 -d, file.txt

答案 1 :(得分:1)

你很近:

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

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