2013-09-28 25 views
0

我有一個csv格式的文件。我知道要從文件中剔除塊的位置,並將其寫入新的csv文件。在bash中拆分非等同文件

分割命令將文件分割爲大小相同的塊。我想知道是否存在一種有效的(文件是巨大的)方法來將文件拆分成不同大小的塊?

+0

你可能想看看這個[link](http://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash) – hrv

回答

1

我假設你想以換行符分割文件。如果是這種情況,您可以使用headtail命令分別從文件的開頭和結尾抓取多行。

如果要從文件中複製新的行,可以使用sed,例如,

sed -e 1,Nd -e Mq file 

其中N應與第一行之前以顯示和M應該顯示的最後一行的行號的行的行號來代替。

+0

所以,最後的命令是有幫助的。但是,如何將這些行寫入新文件? –

+0

只需[重定向](http://www.tldp.org/LDP/abs/html/io-redirection.html)將其轉換爲當前目錄中不存在的文件,例如'sed -e 1,10d -e 20q big.csv> small.csv' –