將檔案依照指定的範本樣式予以切割後,分別儲存成名稱為xx00,xx01,xx02...的檔案。若給予的檔案名稱為"-",則csplit指令會從標準輸入裝置讀取資料。
文法
csplit [-kqsz][-b<輸出格式>][-f<輸出字首字串>]
[-n<輸出檔案名位元>][--help][--version][檔案][範本樣式...]
參數:
- -b<輸出格式>或--suffix-format=<輸出格式> 預設的輸出格式其檔案名稱為xx00,xx01...等,您可以通過改變<輸出格式>來改變輸出的檔案名稱。
- -f<輸出字首字串>或--prefix=<輸出字首字串> 預設的輸出字首字串其檔案名稱為xx00,xx01...等,如果你指定輸出字首字串為"hello",則輸出的檔案名稱會變成hello00,hello01...等。
- -k或--keep-files 保留檔案,就算髮生錯誤或中斷執行,也不能刪除已經輸出儲存的檔案。
- -n<輸出檔案名位元>或--digits=<輸出檔案名位元> 預設的輸出檔案名位元其檔案名稱為xx00,xx01...等,如果你指定輸出檔案名位元為"3",則輸出的檔案名稱會變成xx000,xx001...等。
- -q或-s或--quiet或--silent 不顯示指令執行過程。
- -z或--elide-empty-files 刪除長度為0 Byte檔案。
- --help 線上協助。
- --version 顯示版本資訊。
執行個體
將文字檔testfile以第 2 行為分界點切割成兩份,使用如下命令:
csplit testfile 2
testfile檔案中的內容如下:
$ cat testfile #查看testfile 檔案內容
hello Linux!
Linux is a free Unix-type operating system.
This is a Linux testfile!
Linux
使用csplit命令,輸出結果如下:
$ csplit testfile 2
13 #xx00檔案字元個數
76 #xx01檔案字元個數
其中第1 行是第一個檔案xx00的字元個數,同樣,第2 行為第二個檔案xx01的字元個數。同時,在testfile 的同目錄下將產生兩個檔案,檔案名稱分別為xx00、xx01,xx00 中的內容為:
$ cat xx00 #查看分割後的xx00檔案內容
hello Linux! #testfile檔案第1行的內容
xx01 中的內容為:
$ cat xx01 #查看分割後的xx01檔案內容
Linux is a free Unix-type operating system. #testfile檔案第2行以後的內容
This is a Linux testfile!
Linux