Macos 是否直接从mac终端删除csv文件中的列?

Macos 是否直接从mac终端删除csv文件中的列?,macos,csv,Macos,Csv,例如,如何从Mac终端的命令行中直接从csv文件中删除第三列。我明白 cut -d',' -f3 data.csv 将列信息直接提取到终端中,但我希望第三列完全从数据集中删除。如何通过终端完成此操作 试试看 cut -d',' -f1-2,4- data.csv 我的grep/regex已经生锈了,但是如果列的数量是固定的,那么您可以简单地为每个引号对(及其内容)创建一个grep语句,然后替换为除第三对之外的所有引号对。这是一个笨重的做它;但无论如何,我们应该完成这项工作 man grep

例如,如何从Mac终端的命令行中直接从csv文件中删除第三列。我明白

 cut -d',' -f3 data.csv
将列信息直接提取到终端中,但我希望第三列完全从数据集中删除。如何通过终端完成此操作

试试看

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

我的grep/regex已经生锈了,但是如果列的数量是固定的,那么您可以简单地为每个引号对(及其内容)创建一个grep语句,然后替换为除第三对之外的所有引号对。这是一个笨重的做它;但无论如何,我们应该完成这项工作

man grep

并向下翻页到正则表达式部分,以获取有关如何指定的帮助。

如果试图删除多个字段或只想看到几列,则所有示例似乎都有点棘手。因此,我只显示我想要的列。因此,如果我只想得到第1、2和5列,我会这样做:

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


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

这会将其他列打印到终端上,但是如何保存到一个全新的csv文件中呢?只需添加
>outfile.txt
。只需对列号语法进行一个小的解释:-f1-2选择列1和列2之间的所有列::,4-选择第4列之后的所有列,如5,6,7,直到最后一列I do:cut-d'-f4-7--补足xyz.csv(空格分隔的文件),并且出现错误“cut:unligal option--”。为什么?谢谢