2016-08-04 32 views
1

我对Unix命令不是很有经验,但是我想从第二行删除到第809,600行。我试过这个:删除CSV文件中的成千上万行

sed '2,809600d' extract.csv 

..但它似乎没有删除任何行时,我做了一个计数。任何帮助将非常感激。

+0

如果你正在使用'sed'命令,它与'bash'有什么关系? – Jdamian

+3

你应该知道'sed'是一个过滤器,即它处理一个输入并产生一个输出......它不会改变输入文件,除非你使用'-i'选项。阅读'sed'手册页! – Jdamian

回答

1

您的命令是正确的,您只需要使用-i选项sed编辑文件,否则sed将在STDOUT上显示输出,而不是实际修改文件。

做:

sed -i '2,809600 d' extract.csv 

或者,如果你要备份的原始文件:

sed -i.bak '2,809600 d' extract.csv 

原始文件将被备份extract.csv.bak

+1

或BSD/OSX上的'sed -i“”'2,809600 d'extract.csv'。 – John1024