有個(gè)文件要處理,因?yàn)楹艽?,所以想把它切成若干份,每份N行,以便并行處理。怎么搞呢?查了下強(qiáng)大的shell,果然有現(xiàn)成的工具--split。
下面記錄下基本用法:
split [-bl] file [prefix]
參數(shù)說(shuō)明:
-b, --bytes=SIZE:對(duì)file進(jìn)行切分,每個(gè)小文件大小為SIZE??梢灾付▎挝籦,k,m。
-C,--bytes=SIZE:與-b選項(xiàng)類似,但是,切割時(shí)盡量維持每行的完整性。
-l, --lines=NUMBER:對(duì)file進(jìn)行切分,每個(gè)文件有NUMBER行。
prefix:分割后產(chǎn)生的文件名前綴。
示例:
假設(shè)要切分的文件為test.2012-08-16_17,大小1.2M,12081行。
split -l 5000 test.2012-08-16_17
生成xaa,xab,xac三個(gè)文件。
wc -l 看到三個(gè)文件行數(shù)如下:
5000 xaa
5000 xab
2081 xac
12081 總計(jì)
split -b 600k test.2012-08-16_17
生成xaa,xab兩個(gè)文件
ls -lh 看到 兩個(gè)文件大小如下:
600K xaa
554K xab
split -b 500k test.2012-08-16_17 example
得到三個(gè)文件,文件名的前綴都是example
ls -lh 看到文件信息如下:
500K exampleaa
500K exampleab
154K exampleac