最強の解凍ツールを求めて。SJIS含むが気分的には除外したい。
簡単にいうと最強も何もあったもんじゃないんですが、シフトJISが撲滅されると楽ですね。- unp すべての形式へのフロントエンドスクリプト(展開にはスクリプト内部でunzipなどを使います)。一部書き換えてchcp932対応にするといい。
- unar すべての形式を解凍する便利ツール。コードページを解する。賢い。間違えたことがあまりない。数回あるけれど。そういう場合は、unzip -Ocp932 *.zip。
※すべて=だいたい。
※bash
コンビニエンスなツール・unp unar の導入
sudo apt install unp unar
ふたつ入れときます。ファイルは小さい。■RAR形式Zip形式
ふたつ以上のzip/rarがある場合です。一つしかない場合は*の扱いが変わるので。
ディレクトリのRAR形式のファイルを一括で解凍、展開する。unar。find は手抜き書式。#一括なら次の2行覚えておけば、ほぼ全てに対応できます。
find *.rar -exec unar {} \;
find *.zip -exec unar {} \;
find *.rar -exec unar {} \;
find *.zip -exec unar {} \;
同、unrar/unzip の場合
find *.rar -exec unrar x {} \;
find *.rar -exec unrar x {} \;
#WindowsでいまどきShiftJISなファイル名格納されたZIPは個別に扱う。
unzip -Ocp932 filename.zip
■多様な形式をひとつのコマンド、書式で。unpで楽勝。
unpの場合(拡張子を変えれば万能的に使えます。zipなどにも) 発見したんだが、*.*が気軽に使えるにのがこのスクリプトの便利さかも。混沌とするかもしれませんが。unp *.zip
unp *.rar
unp *.*
unp *.rar
unp *.*
■つまり、最強の解凍ツールunpといってもいい、かも。そうでもないが。
(ただし、「コードページの憂鬱」のある日本語環境は除外。一行書き換えればいいです)
unp *.*
find *.rar -exec unar {} \;
find *.zip -exec unar {} \;
find *.rar -exec unar {} \;
find *.zip -exec unar {} \;
まぁ、化けるアーカイブファイルがあったら、(だいたいWindowsのものだけど)、unzip -Ocp932 *.zip を個別にかけちゃえばいいわけです。個別にunarだとかなりいい線いきますね(間違える場合もある)。
まぁ、~/Downloadsで、*.*を発行すると混沌とするだけですよね。あはは。
■最終回答(私の結論)テキトーなのであまり信じないほうがいいかも。unpの日本語対応版を作る。
unp 227行目を
[ "unzip" ]を [ "unar" ] に書き換える。unzipをunarです。
sudo gedit `which unp`
[ "unzip", "zip|cbz|cbr|jar|war|ear|xpi|adf", "Zip.*archive", 0,
# [ "unzip" ]
[ "unar" ]
書き換えた方を、unpjとして、保存しておくといいのかも。とはいえ、自分が使うとも思えないですね。使いませんね。
これで、ほぼ当社調べ99.9%(Shift_JIS含めて)日本語環境に対応した解凍環境ができました。
unarに頼り過ぎると、RARによってはうまくいかないので、unar万能というわけでもないのです。めんどくさいな。 rarもややこしいところがあります。たぶん、形式が違うのでunrarの種別に絡みますね。めんどくさい。