Linux csplit命令用于分割文件。
將文件依照指定的范本樣式予以切割后,分別保存成名稱(chēng)為xx00,xx01,xx02...的文件。若給予的文件名稱(chēng)為"-",則csplit指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
csplit [-kqsz][-b<輸出格式>][-f<輸出字首字符串>] [-n<輸出文件名位數(shù)>][--help][--version][文件][范本樣式...]
參數(shù):
-b<輸出格式>或--suffix-format=<輸出格式> 預(yù)設(shè)的輸出格式其文件名稱(chēng)為xx00,xx01...等,您可以通過(guò)改變<輸出格式>來(lái)改變輸出的文件名。
-f<輸出字首字符串>或--prefix=<輸出字首字符串> 預(yù)設(shè)的輸出字首字符串其文件名為xx00,xx01...等,如果你指定輸出字首字符串為"hello",則輸出的文件名稱(chēng)會(huì)變成hello00,hello01...等。
-k或--keep-files 保留文件,就算發(fā)生錯(cuò)誤或中斷執(zhí)行,也不能刪除已經(jīng)輸出保存的文件。
-n<輸出文件名位數(shù)>或--digits=<輸出文件名位數(shù)> 預(yù)設(shè)的輸出文件名位數(shù)其文件名稱(chēng)為xx00,xx01...等,如果你指定輸出文件名位數(shù)為"3",則輸出的文件名稱(chēng)會(huì)變成xx000,xx001...等。
-q或-s或--quiet或--silent 不顯示指令執(zhí)行過(guò)程。
-z或--elide-empty-files 刪除長(zhǎng)度為0 Byte文件。
--help 在線(xiàn)幫助。
--version 顯示版本信息。
將文本文件testfile以第 2 行為分界點(diǎn)切割成兩份,使用如下命令:
csplit testfile 2
testfile文件中的內(nèi)容如下:
$ cat testfile #查看testfile 文件內(nèi)容 hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile! Linux
使用csplit命令,輸出結(jié)果如下:
$ csplit testfile 2 13 #xx00文件字符個(gè)數(shù) 76 #xx01文件字符個(gè)數(shù)
其中第1 行是第一個(gè)文件xx00的字符個(gè)數(shù),同樣,第2 行為第二個(gè)文件xx01的字符個(gè)數(shù)。同時(shí),在testfile 的同目錄下將生成兩個(gè)文件,文件名分別為xx00、xx01,xx00 中的內(nèi)容為:
$ cat xx00 #查看分割后的xx00文件內(nèi)容 hello Linux! #testfile文件第1行的內(nèi)容
xx01 中的內(nèi)容為:
$ cat xx01 #查看分割后的xx01文件內(nèi)容 Linux is a free Unix-type operating system. #testfile文件第2行以后的內(nèi)容 This is a Linux testfile! Linux