split

圧縮と転送

書き方

split -b <size> <file> <prefix>

大きなファイルをいくつもの断片に切ります。既定は 1000 行ずつという行数での分割なので、大きさで切るなら `-b 100M` のように書き、接頭の語を与えないと断片は xaa・xab となり、戻すのは `cat part_* > file` 一つで済みますが、それは接尾が順に並ぶからこそです。

よく使うオプション

オプション意味
-b 100MPieces of a fixed size; K, M and G suffixes work on both platforms.
-l 1000Split by line count instead, which is the default behaviour at 1000 lines.
-n 4Cut into exactly four pieces.
-dNumeric suffixes instead of aa, ab, ac.
-a 3Suffix length, when two letters are not enough.
--additional-suffix=.partAppend an extension to each piece. GNU only.
<prefix>Optional, and without it the pieces are named xaa, xab, xac.

split -b 100M big.tar.gz part_

Produces part_aa, part_ab and so on.

cat part_* > big.tar.gz

Reassemble in glob order, which is why the suffixes are sorted.

split -l 5000 -d data.csv chunk_

Five thousand lines per piece, with numeric suffixes.

まとめることと縮めることは別の仕事です。tar がまとめ、gzip が縮め、.tar.gz はその両方です。

読み方

  • 角括弧 [ ] は省いてよい部分です。
  • 三点 … は複数並べられるという意味です。
  • オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。

よくある質問

Q. split は何をしますか。

大きなファイルをいくつもの断片に切ります。既定は 1000 行ずつという行数での分割なので、大きさで切るなら `-b 100M` のように書き、接頭の語を与えないと断片は xaa・xab となり、戻すのは `cat part_* > file` 一つで済みますが、それは接尾が順に並ぶからこそです。

Q. どう打ちますか。

split -b <size> <file> <prefix> — 角括弧は省いてよい部分です。

Q. よく使うオプションはいくつですか。

ここにまとめたのは7個です。全部は man split にあります。このコマンドは圧縮と転送の仲間です。

関連するコマンド

man ページ: man split