Linux csplit命令
Linux csplit命令用於分割文件。拆解文件主要是split和csplit命令,如果說split是按大小來拆分的話,那么csplit則可按匹配來拆分;
將文件依照指定的范本樣式予以切割后,分別保存成名稱為xx00,xx01,xx02...的文件。若給予的文件名稱為"-",則csplit指令會從標准輸入設備讀取數據。
用法:
csplit [-kqsz][-b<輸出格式>][-f<輸出字首字符串>]
[-n<輸出文件名位數>][--help][--version][文件][范本樣式...]
參數:
-b, --suffix-format=格式 使用sprintf 格式代替%02d -f, --prefix=前綴 使用指定前綴代替"xx" -k, --keep-files 不移除錯誤的輸出文件 -n, --digits=數位 使用指定的進制數位代替二進制 -s, --quiet, --silent 不顯示輸出文件的尺寸計數 -z, --elide-empty-files 刪除空的輸出文件 --help 顯示此幫助信息並退出 --version 顯示版本信息並退出 如果文件為"-",則讀取標准輸入。每個"格式"可以是: 整數 不包括指定的行,並以其為文件分塊邊界 /表達式/[偏移量] 不包括匹配到的行,並以其為文件分塊邊界 %表達式%[偏移量] 預先跳過匹配的行數,以其為文件分塊邊界 {整數} 將之前指定的模式重復指定的次數 {*} 將之前指定的模式重復盡可能多的次數。
圖解:
實例:
1、將文本文件testfile以第 2 行為分界點切割成兩份,使用如下命令
[root@mysql linux]# csplit log.txt 2 17 # xx00文件字符個數 65 # xx01文件字符個數