Tips: Ubuntu で zip 解凍時にディレクトリに出力する
zip の作成方法にもよりますが、ディレクトリを zip にしてくれている場合は問題ないですが、時々、zip を解凍したときにカレントディレクトリにファイルがたくさん展開されて困った経験はありませんか?
例えば、プロジェクトルート内で解凍してしまい、
xxxxx/*.png とディレクトリにまとまってくれれば良いですが、*.png がズラーっとなってしまうケースです。
初めから images/ ディレクトリを切って、その中で解凍しろ。って話でもありますが・・・
失敗ケース
$ unzip zundamon.zip Archive: zundamon.zip inflating: zundamon (1).png inflating: zundamon (10).png inflating: zundamon (11).png inflating: zundamon (12).png inflating: zundamon (2).png inflating: zundamon (3).png inflating: zundamon (4).png inflating: zundamon (5).png inflating: zundamon (6).png inflating: zundamon (7).png inflating: zundamon (8).png inflating: zundamon (9).png $ find . -name "*.png" ./zundamon (6).png ./zundamon (4).png ./zundamon (10).png ./zundamon (2).png ./zundamon (5).png ./zundamon (8).png ./zundamon (9).png ./zundamon (3).png ./zundamon (1).png ./zundamon (7).png ./zundamon (12).png ./zundamon (11).png
このようになってしまうケースですね
-d オプションを使用します
unzip zundamon.zip -d <出力先ディレクトリ>
出力先のディレクトリがない場合は勝手に作ってくれます
実行例
$ unzip zundamon.zip -d datasets Archive: zundamon.zip inflating: datasets/zundamon (1).png inflating: datasets/zundamon (10).png inflating: datasets/zundamon (11).png inflating: datasets/zundamon (12).png inflating: datasets/zundamon (2).png inflating: datasets/zundamon (3).png inflating: datasets/zundamon (4).png inflating: datasets/zundamon (5).png inflating: datasets/zundamon (6).png inflating: datasets/zundamon (7).png inflating: datasets/zundamon (8).png inflating: datasets/zundamon (9).png $ find . -name "*.png" ./datasets/zundamon (6).png ./datasets/zundamon (4).png ./datasets/zundamon (10).png ./datasets/zundamon (2).png ./datasets/zundamon (5).png ./datasets/zundamon (8).png ./datasets/zundamon (9).png ./datasets/zundamon (3).png ./datasets/zundamon (1).png ./datasets/zundamon (7).png ./datasets/zundamon (12).png ./datasets/zundamon (11).png
datasets/内に解凍してくれました
まとめ
まぁディレクトリごと zip になっている場合は、
datasets/dir/*.pngってなってしまって一階層増えるんですけどね🙃