« Second Lifeを試してみました | トップページ | NTFS-3gのパッケージをまとめて公開 »

2007年3月10日 (土)

ファイルの分割と連結のUnixコマンド

今日マックユーザーになりたての知り合いに、画像ファイルやビデオファイルを小さく分割するにはどうやったら良いのか訊かれましたので書いておきます。Winの時は専用のソフトを使ってたとか。マックでもそいうのあるんでしょうけど、折角便利なUnixコマンドを使えるんですから、わざわざソフトをインストールして無駄にディスクスペースを使うこともないと思います。以下に挙げるコマンドは画像ファイルやビデオファイルだけでなくもちろんテキストファイルにも使えます。簡単な例だけを挙げますので、コマンドについて詳しくはmanページを見てください。

ファイルの分割にはsplitコマンドを使います。次のコマンドを実行すると

split -b 500k ビデオ.mpg

ビデオという名のmpgファイルを500キロバイトのブロックに切ることができます。オプション -b でバイトを指定し、数値プラス kでキロバイト数を指定します。500kを500mにするとブロックの大きさがキロバイトではなくメガバイトになります。オプションを -l にして数値を指定すると行単位でファイルが分割されます。次のコマンドを実行するとテキストという名のファイルを100行ずつのブロックに分割してくれます。

split -l 100 テキスト.txt

分割されたファイルはxaa xab xacというふうに自動的に名前がつけられます。分割されたファイルを元通りに連結するにはcatコマンドを使います。例えば、

cat xaa xab xac > ビデオ.mpg

とすることで先ほど分割されたビデオ.mpgファイルを元通りにすることができます。分割されたブロックが多い時にはイチイチ書いていたら大変なので * を使って

cat x* > ビデオ.mpg

とすると効率的に書けます。ただ、ファイル名が xで始まる他のファイルが混ざらないように気をつけないと、でき上がったファイルは元のファイルとは違うものになってしまいます。

以上のコマンドと他のコマンドをAutomatorなんかで組み合わせると便利なワークフローができるのではないでしょうか。

« Second Lifeを試してみました | トップページ | NTFS-3gのパッケージをまとめて公開 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: ファイルの分割と連結のUnixコマンド:

« Second Lifeを試してみました | トップページ | NTFS-3gのパッケージをまとめて公開 »

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

最近のトラックバック