gunzip
ファイル()を再帰的に試していますが、-r
そのファイルを元の場所に保存する権限がありません。私はあなたが1つの個々のファイルの場所を変更することを知っていますが、gunzip {file} -c > {new file location}
元のファイルの場所の元のディレクトリ構造を維持し、新しい場所に同じディレクトリ構造を持つように2つのファイルを結合する方法がわかりません。
答え1
GNU findを持つUnix(Linuxを含む)では、再帰と反復の両方に使用できます。
find . -name '*.gz' -exec sh -c 'gunzip -c "{}" >"/output/path/{}"' \;
他のUnix / find Embedded {}では動作しない可能性があるため、シェルが必要だと思います(Bourneish仮定)。
find . -name '*.gz' | while read f; do gunzip -c "$f" >"/output/path/$f"; done
これは、some.gzという名前のサブディレクトリがないと仮定します。その場合は追加されます-type f
。みんなファイルはgzipで圧縮されており、-type f
これだけで十分です。
しかし、これはそうかもしれません簡単に到着コピーファイルツリーを書き込み可能な場所に圧縮最初(Unixにはいくつかの方法があります:cp -R
、、、さらにrsync -r
はtar cf - | (cd somewhere; tar xf -)
Windowsでもxcopy
)コピーを解凍します。