2013-11-28 33 views
3

如何从Mac终端的命令行中直接从csv文件中删除第三列。据我所知从mac终端直接从csv文件中删除列?

cut -d',' -f3 data.csv 

将列信息直接提取到终端,但我希望第三列从数据集中完全删除。我怎样才能通过终端做到这一点?

回答

6

尝试

cut -d',' -f1-2,4- data.csv 
+0

这会将其他列输出到终端上,但如何将其保存到全新的csv文件? – user2896468

+3

只需添加'> outfile.txt'。 – uselpa

-2

我的grep /正则表达式是锈迹斑斑,但如果列数是固定的,那么你可以简单地为每个报价对(和它的内容)的grep的语句,然后将其替换除了第三对之外。这是一个笨重的做法;但仍然应该完成工作。

man grep 

以及页面向下的REGULAR EXPRESSIONS部分以获取有关如何指定的帮助。

0

如果试图删除多个字段或者只想看到几列,所有的例子看起来有点棘手。这样我只显示我想要的列。所以,如果我只是想获得列1,2和5我应该这样做:

cut -d, -f 1,2,5 hugeData.csv

注: -d设置任何分隔符是在文件中。在上面的例子中,这是一个逗号,