ExampleFolder
というフォルダーがあり、そこには多くのzipフォルダーが含まれています。これらの圧縮フォルダーには、複数の圧縮フォルダーも含まれます。 ExampleFolder
を通過し、すべての圧縮されたフォルダーを再帰的に抽出する方法
ExampleFolder
自体はzipではなく、単なる通常のフォルダーであることに注意してください
さて、私はRinzwindとnuxの答えがどちらも正しいことを知っています(YまたはAを永遠に押し続けなければならないことを除いて)
ただし、zipファイル、zipファイル、およびrarファイルも含まれているため、rarファイルは抽出されません。
while [ "`find . -type f -name '*.Zip' | wc -l`" -gt 0 ]; do find -type f -name "*.Zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done
または何でも
編集2一部のファイルの名前は.r00
およびr01
、r14までは.r02
、それらはrar
ファイルですが、.rar
ではありません
このコマンドを使用すると、現在のディレクトリ内のすべてのファイルが再帰的に解凍されます。
注これは元の圧縮ファイルを削除しますが、元のファイルを残したい場合は-exec rm -- '{}' \;
codeを削除します。
コマンド:
while [ "`find . -type f -name '*.Zip' | wc -l`" -gt 0 ]; do find -type f -name "*.Zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done
私が想像できる最も簡単な方法は、Zipを抽出してから、内部にあったものを抽出することです。
ExampleFolder
にExample-A.Zip
があったとしましょう。 .Zip
からExample-A.Zip
sを(おそらくExample-A-Folder
という名前のフォルダーに)抽出し、それぞれを1つずつ抽出します。これは、再帰的に圧縮すると(WindowsではExample.Zip.zip.Zip
などが圧縮されて)圧縮されたフォルダーが別のフォルダー内にある場合などに、面倒です。