/mydata
複数のファイルを含むgz
フォルダがあります。
元のzipを維持しながら、他のフォルダにすべて解凍したいと思います。/myoutput
どうすればいいですか?解凍プロセスも追跡できますか?
ありがとうございます!
ベストアンサー1
gzip
、basename
およびループを使用してください。
for pathname in /mydata/*.gz; do
gzip -dc "$pathname" >"/myoutput/$( basename "$pathname" .gz )"
done
これは、一致するすべてのパス名に対して繰り返され、各名前についてファイル()の圧縮を標準出力()に解く/mydata/*.gz
ために使用されます。gzip
出力はにリダイレクトされます。ファイル名は元のファイルと同じですが、ファイル名のサフィックスはありません(パス名からビットを削除し、最初の文字列を削除するため)。-d
-c
/myoutput
.gz
basename
/mydata/
ループ内のコマンドは、次のように書くこともできます。
gzip -d -o "/myoutput/$( basename "$pathname" .gz )" "$pathname"
これにより、gzip
リダイレクトを介さずに出力ファイルを直接書き込むことができます。
これは以下のファイルを/mydata
読むことができます/myoutput
。