Gunzipは、特定の拡張子を持つすべてのファイルを別のフォルダに圧縮します。

Gunzipは、特定の拡張子を持つすべてのファイルを別のフォルダに圧縮します。

.gz拡張子gzのファイル28個と拡張子28個のファイルを含むフォルダがあります.gz.bam

.gz28個のファイルをすべて解凍して別のフォルダに送信したいと思います。私は次のように一つずつしました。

gunzip -c file1.gz > /mnt/s3/data_transfer/file1

.gz.bamの代わりに.gzを使用するように指定するにはどうすればよいですか?

ベストアンサー1

ただ繰り返してみてください:

for file in *gz; do
    gunzip -c -- "$file"  > /mnt/s3/data_transfer/"${file%.gz}"
done

is"${file%.gz}"シェル構文は値を返し、$file最後の値を削除します.gz

この高速で汚れた方法は、以下のStéphaneの方法ほど強力ではありません。ファイルがないディレクトリで実行すると、パターン自体を圧縮しようとgzします。*gzgzこれが問題である場合は、代わりに彼の方法を使用してください。

おすすめ記事