ファイルを指定したサイズに分割/復元する

| | コメント(0) | トラックバック(0)

・Eiji James Yoshidaの記録 - ファイルを指定したサイズに分割する
http://d.hatena.ne.jp/EijiYoshida/20070704/1183506458
より、

分割(Linux)split -b 5m file file.
結合(Linux)cat file.* > file
結合(Windows)copy /b file.aa file.ab file.ac file

ってのがあったのめも。
これだけだと、丸写しで怒られちゃうので、確認と覚え書きを追加。
手元にLinuxマシンがなかったので、Cygwinで確認しました。

Windowsから分割って(標準のツールのみで)どうやってやるのかなぁ?

確認

まず、5kByteのテストファイル(file)を、Cygwin上から、作成します。

$ dd if=/dev/random count=10 of=~/file
10+0 records in
10+0 records out
5120 bytes (5.1 kB) copied, 0.045 s, 114 kB/s

「file」を、1kByte毎に分割して、PREFIX「file.」のファイルを作成する。
PREFIXの後ろにはaa,ab,ac,...が付加される(SUFFIX)。

$ split -b 1k file file.
$ ls file*
-rw-r--r-- 1 hoge users 5.0K Jul 16 18:36 file
-rw-r--r-- 1 hoge users 1.0K Jul 16 18:36 file.aa
-rw-r--r-- 1 hoge users 1.0K Jul 16 18:36 file.ab
-rw-r--r-- 1 hoge users 1.0K Jul 16 18:36 file.ac
-rw-r--r-- 1 hoge users 1.0K Jul 16 18:36 file.ad
-rw-r--r-- 1 hoge users 1.0K Jul 16 18:36 file.ae

連結します

$ cat file.* > file2


Windows(コマンドプロンプト)から結合

C:\path\to\> copy /b file.a* file3
file.aa
file.ab
file.ac
file.ad
file.ae
        1 個のファイルをコピーしました。

一致してるか確認

$ md5sum file file2 file3
6dcc83a9729d3edb777ff8b0a9c55080 *file
6dcc83a9729d3edb777ff8b0a9c55080 *file2
6dcc83a9729d3edb777ff8b0a9c55080 *file3

覚え書き

ちなみに、SUFFIXは「zz」でオーバーフローしてしまうっぽい。(デフォルトで2桁)

$ split -b 1 file file.
split: Output file suffixes exhausted

そういう時は、「-a」オプションをつけてSUFFIXの桁数を大きく指定してあげれば良いらしい。

$ split -b 1 -a 3 file file.

splitコマンドでは、上書き確認なしでファイルを出力するみたいなので、注意が必要かも。
file.ac, file.ad, file.ae は作成されないし、元ファイルが上書きされて無くなっちゃう。(file.abは5kBではなく1kBになってる)

$ dd if=/dev/random count=10 of=~/file.ab
$ ls -l file*
-rw-r--r-- 1 hoge users 5.0K Jul 16 19:12 file.ab
$ split -b 1k file.ab file.
$ ls -l file*
-rw-r--r-- 1 hoge users 1.0K Jul 16 19:14 file.aa
-rw-r--r-- 1 hoge users 1.0K Jul 16 19:14 file.ab

トラックバック(0)

このブログ記事を参照しているブログ一覧: ファイルを指定したサイズに分割/復元する

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/471

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2007年7月16日 19:27に書いたブログ記事です。

ひとつ前のブログ記事は「The Network Toolkit」です。

次のブログ記事は「a-squared」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

Powered by Movable Type 4.261