Linux csplit命令

Linux 命令大全 Linux 命令大全

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

Linux 命令大全 Linux 命令大全