ターゲットディレクトリ内のすべてのファイルを再帰的にgunzipするために使用するコマンドは何ですか? unzipコマンドを使用しようとしましたが、機能しませんでした。
ターゲットフォルダー内のすべてのZipファイルを解凍しますか? からコマンドを試しました。
以下のコマンドを使用します。 <path_of_your_zips>
をZipファイルへのパスに、<out>
を宛先フォルダーに置き換えます。
GZファイルの場合
find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
または
find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
Zipファイルの場合
find <path_of_your_zips> -type f -name "*.Zip" -exec unzip {} -d <out> \;
または
find <path_of_your_zips> -type f -name "*.Zip" -print0 | xargs -0 -I{} unzip {} -d <out>
gunzip
には-r
オプションがあります。 man gunzip
から:
-r --recursive
Travel the directory structure recursively. If any of the
file names specified on the command line are directories, gzip
will descend into the directory and compress all the files it finds
there (or decompress them in the case of gunzip ).
したがって、gunzip
すべての圧縮ファイル(gunzip
は現在、gzip、Zip、compress、compress -Hまたはpackで作成されたファイルを解凍できます)/foo/bar
およびそのすべてのサブディレクトリ内に配置する場合:
gunzip -r /foo/bar
これは、スペースを含むファイル名も処理します。