linux下的 split 和 cat 命令
阿新 • • 發佈:2018-11-17
split命令
可以將一個大檔案分割成很多個小檔案,有時需要將檔案分割成更小的片段,比如為提高可讀性,生成日誌等。
選項:
-b:值為每一輸出檔案的大小,單位為 byte。
-C:每一輸出檔中,單行的最大 byte 數。
-d:使用數字作為字尾。 -l:值為每一輸出檔的列數大小。
例項
- 首先生成一個大小為10KB的測試檔案big.txt:
dd if=file.txt bs=10k count=1 of=big.txt
引數解釋:
- if=檔名:輸入檔名,預設為標準輸入。即指定原始檔。< if=input file >
- of=檔名:輸出檔名,預設為標準輸出。即指定目的檔案。< of=output file >
- bs=bytes:同時設定讀入/輸出的塊大小為bytes個位元組。
- count=複製次數
例如:dd if=/dev/zero of=/home/file bs=100k count=1000
這裡dd用來測試磁碟I/O效能,上面這樣寫是測試向磁碟(路徑為:/home/file)寫入一個100k檔案,寫入次數為1000次,通過系統完成操作所需時間來判斷磁碟效能。
- 使用split命令將上面建立的big.txt檔案分割成大小為1KB的小檔案:
split -b 1k big.txt
- 檔案被分割成多個帶有字母的字尾檔案,如果想用數字字尾可使用-d引數,同時可以使用-a length來指定字尾的長度:
split -b 1k big.txt -d -a 3
- 為分割後的檔案指定檔名的字首:
split -b 1k big.txt -d -a 3 small_
- 使用-l選項根據檔案的行數來分割檔案,例如把檔案分割成每個包含10行的小檔案:
-
先讀出 big.txt 檔案一共有多少行
wc -l big.txt
- 再利用 split 命令
split -l 10 big.txt -d -a 4 small_
將 檔案 BLM.txt 分成若干個小檔案,每個檔案10行(-l 10),檔案字首為small_ ,係數不是字母而是數字(-d),字尾係數為四位數(-a 4)
cat命令
在Linux下用cat進行檔案合併:
cat small_* > large_file.txt
將a.txt的內容輸入到b.txt的末尾
cat a.txt >> b.txt