Linux csplit命令

Linux 命令大全 Linux 命令大全

Linux csplit命令用于分割文件。

將文件依照指定的范本樣式予以切割后,分別保存成名稱為xx00,xx01,xx02...的文件。若給予的文件名稱為"-",則csplit指令會從標準輸入設備讀取數(shù)據(jù)。

語法

csplit [-kqsz][-b<輸出格式>][-f<輸出字首字符串>]
[-n<輸出文件名位數(shù)>][--help][--version][文件][范本樣式...] 

參數(shù)

  • -b<輸出格式>或--suffix-format=<輸出格式> 預設的輸出格式其文件名稱為xx00,xx01...等,您可以通過改變<輸出格式>來改變輸出的文件名。
  • -f<輸出字首字符串>或--prefix=<輸出字首字符串> 預設的輸出字首字符串其文件名為xx00,xx01...等,如果你指定輸出字首字符串為"hello",則輸出的文件名稱會變成hello00,hello01...等。
  • -k或--keep-files 保留文件,就算發(fā)生錯誤或中斷執(zhí)行,也不能刪除已經(jīng)輸出保存的文件。
  • -n<輸出文件名位數(shù)>或--digits=<輸出文件名位數(shù)> 預設的輸出文件名位數(shù)其文件名稱為xx00,xx01...等,如果你指定輸出文件名位數(shù)為"3",則輸出的文件名稱會變成xx000,xx001...等。
  • -q或-s或--quiet或--silent 不顯示指令執(zhí)行過程。
  • -z或--elide-empty-files 刪除長度為0 Byte文件。
  • --help 在線幫助。
  • --version 顯示版本信息。

實例

將文本文件testfile以第 2 行為分界點切割成兩份,使用如下命令:

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命令,輸出結果如下:

$ csplit testfile 2  
13 #xx00文件字符個數(shù)  
76 #xx01文件字符個數(shù)  

其中第1 行是第一個文件xx00的字符個數(shù),同樣,第2 行為第二個文件xx01的字符個數(shù)。同時,在testfile 的同目錄下將生成兩個文件,文件名分別為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 

Linux 命令大全 Linux 命令大全