Linux csplit命令
Linux csplit命令用於分割文件。
將文件依照指定的範本樣式予以切割後,分別保存成名稱為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