はじめに
Windowsで作られたzipファイルが送られてきたので、Macでunzipコマンドで解凍しようとしたところ、文字化けして解凍に失敗しました。
アプリは入れたくなかったのでコマンドでできないか調べていたらdittoコマンドを使えば解凍できるとのこと。
解決策
次のコマンドを実行すれば解凍できます。
ditto -xk Windowsで作られたZipファイル 出力先ディレクトリ
指定したZipファイルが、指定した出力先に展開されます。
dittoコマンドの詳細
解凍時の挙動
dittoコマンドで指定した出力先ディレクトリが存在しなければ自動で作成し、存在していればマージして展開します。
解凍時のコマンドオプション
解凍時によく使いそうなコマンドオプションのみピックアップしています。
オプション | 説明 |
-x | 引数のアーカイブを展開する。形式はCPIOファイルを想定。 |
-k | PKZipアーカイブとして取り扱う。.zipで終わるファイル名である必要あり。 |
-v | 各ソースディレクトリの出力行を出力 |
-V | 全てのファイル、シンボリックリンク、デバイスを出力 |
–sequesterRsrc | メタデータ類(リソースフォーク、HFSメタデータ)を自動的に検出する |
–password | パスワード付きZipを解凍する場合に指定する。 パスワード付きZipを解凍する際にこのオプションをつけ忘れた場合は、 エラーメッセージを出力 |
xオプションがCPIOファイルを想定しているため、WindowsのZipファイルを解凍する場合はkオプションをつけ忘れないようにしましょう。
その他のオプション
その他の細かいオプション、アーカイブ作成(圧縮含む)についてはこの記事では取り扱いません。
「manpage ditto」で調べるとマニュアルページに行きつきます。
最下部にこの記事を作成するにあたって参照したページも載せているので、
そちらもご覧いただければよいかと思います。
最後に
オンラインミーティング中に資料をチャットで展開される事が多いのですが、だいたいMacbookを使って参加しているので、毎度調べていたんですよね。
自分の記事にすれば探しやすいなぁということで備忘録代わりに作成しました。とはいえ、調べてみるとさほど長いコマンドではないですね。理解せずに要らないオプションをつけていたせいで、覚えられなかったこともわかりました。
参考文献
ditto(1) [osx man page]
ditto(1) [osx man page]
In its first form, ditto copies one or more source files or directories to a destination directory. If the destination d...
コメント