1. 程式人生 > >linux下的 split 和 cat 命令

linux下的 split 和 cat 命令

split命令

可以將一個大檔案分割成很多個小檔案,有時需要將檔案分割成更小的片段,比如為提高可讀性,生成日誌等。

選項:

-b:值為每一輸出檔案的大小,單位為 byte。

-C:每一輸出檔中,單行的最大 byte 數。

-d:使用數字作為字尾。 -l:值為每一輸出檔的列數大小。

例項

  • 首先生成一個大小為10KB的測試檔案big.txt:
dd if=file.txt bs=10k count=1 of=big.txt

引數解釋:

  1. if=檔名:輸入檔名,預設為標準輸入。即指定原始檔。< if=input file >
  2. of=檔名:輸出檔名,預設為標準輸出。即指定目的檔案。< of=output file >
  3. bs=bytes:同時設定讀入/輸出的塊大小為bytes個位元組。
  4.  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