このエントリーをはてなブックマークに追加


大きなファイルを分割して結合する方法・split,cat

USBメモリに大きなファイルをコピーしようとしたら、FAT32の制限で1ファイル4Gまでという制限にひっかかってしまったことなどありませんか?
または、1つの外部メモリに入りきらずに複数の媒体にわけて保存したい場合など、splitコマンドとcatコマンドを使えば、大きなファイルの分割と結合が可能です。


splitコマンドで分割

splitコマンドで分割するファイルは以下のWallpaper.pngを使用します。

sakura@ubuntu1204:~/wk$ ls -lh
合計 2.2M
-rw-rw-r-- 1 sakura sakura 2.2M 11月 10 01:03 Wallpaper.png

キロバイト単位で分割

以下の構文で指定したキロバイト単位で分割することができます。

split -b 分割値k 元ファイル 分割したファイル名の先頭文字列
  • 実行例
    sakura@ubuntu1204:~/wk$ split -b 500k Wallpaper.png SliceWallpaper.
    sakura@ubuntu1204:~/wk$ ls -l
    合計 4400
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.aa
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ab
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ac
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ad
    -rw-rw-r-- 1 sakura sakura  203867 11月 10 01:06 SliceWallpaper.ae
    -rw-rw-r-- 1 sakura sakura 2251867 11月 10 01:03 Wallpaper.png

各の単位での分割

  • バイト単位
    split -b 分割値 元ファイル 分割したファイル名の先頭文字列
  • キロバイト単位
    split -b 分割値k 元ファイル 分割したファイル名の先頭文字列
  • メガバイト単位
    split -b 分割値m 元ファイル 分割したファイル名の先頭文字列

分割したファイルの結合

以下の構文で分割したファイルを結合して1つにすることがでいます。

cat 分割ファイル > 結合ファイル

上記の実行例で分割したファイルを1つに結合してみます。

  1. 分割されたファイル
    sakura@ubuntu1204:~/wk$ ls -ltr
    合計 4400
    -rw-rw-r-- 1 sakura sakura 2251867 11月 10 01:03 Wallpaper.png
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ab
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.aa
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ad
    -rw-rw-r-- 1 sakura sakura  512000 11月 10 01:06 SliceWallpaper.ac
    -rw-rw-r-- 1 sakura sakura  203867 11月 10 01:06 SliceWallpaper.ae
  2. catコマンドとリダイレクトを利用して結合します。
    sakura@ubuntu1204:~/wk$ cat SliceWallpaper.* > JoinWallpaper.png
  3. 元ファイルと結合したファイルのdiffをとりました。 以下のdiffコマンドでファイル内容が同じあることが確認できました。
    sakura@ubuntu1204:~/wk$ diff Wallpaper.png JoinWallpaper.png 
    sakura@ubuntu1204:~/wk$ echo $?
    0


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:22