如何使用linux命令获取非常大的csv文件的第二列?

时间:2016-05-11 02:47:16

标签: linux csv command-line large-files

我在接受采访时得到了这个问题。我说我可以用java或python这样的xreadlines()函数来遍历整个文件并获取列,但是面试官希望我只使用linux cmd。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:4)

您可以使用命令awk

下面是打印文件第二列的示例:

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

要存储它,您可以将其重定向到文件中:

awk -F, '{print $2}' file.txt > output.txt

答案 1 :(得分:2)

您可以使用cut

cut -d, -f2 /path/to/csv/file

答案 2 :(得分:1)

我添加了Andreas的答案,但还不能发表评论。

使用csv,你必须给awk一个字段分隔符参数,或者它将定义由空格而不是逗号绑定的字段。 (显然,使用不同字段分隔符的csv需要声明不同的字符。)

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