🤪
多階層フォルダに分散した.zipの再帰的解凍方法(各zip保存先フォルダへの新規フォルダ非生成解凍、Mid-Airデータセット)
1.はじめに
めちゃくちゃ特殊な条件での利用を想定しています。zip自体が複数の階層に散在している状況で、なおかつ解凍後のファイルは各zipが存在している階層に新規フォルダを生成せずにプレーンに解凍しなければならない状況のときです。
私は、420階層 かつ 420個あるzipファイル (合計 316.5GB) を一括で解凍する必要が生じたため悩みました。Mid-Airというアノテーション付き巨大データセットを使用するときの課題でした。
- ライセンス明示無し 2021.05.23時点
- CC4.0 商用利用不可
2.神降臨
ツイッターでぐちのようにつぶやいたところ、10分ほどで天啓が舞い降りました。凄い。。。ありがとうございます!
3.ワンライナーコマンド
全階層のZIPファイルを再帰的に解凍するコマンド
$ find ./ -name '*.zip' -execdir unzip {} \;
全階層の解凍済みZIPファイルを再帰的に削除するコマンド
$ find . -name '*.zip' -type f | xargs rm
Discussion