Gzip
gunzip 目錄中的所有 .gz 文件
我有一個包含大量
.txt.gz
文件的目錄(其中名稱不遵循特定模式。)對他們來說最簡單的方法是
gunzip
什麼?我想保留他們原來的名字,讓他們whatevz.txt.gz
從whatevz.txt
就這個怎麼樣?
$ gunzip *.txt.gz
gunzip
將創建一個不帶.gz
後綴的 gunzipped 文件,並預設刪除原始文件(詳見下文)。*.txt.gz
將由您的 shell 擴展為所有匹配的文件。如果它擴展到很長的文件列表,最後一點可能會給您帶來麻煩。在這種情況下,請嘗試使用
find
and-exec
為您完成這項工作。從手冊頁
gzip(1)
:gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension.
關於“原名”的說明
gzip 可以儲存和恢復壓縮時使用的文件名。即使您重命名壓縮文件,您也會驚訝地發現它又恢復到原來的名稱。
從 gzip 手冊頁:
預設情況下,gzip 會在壓縮文件中保留原始文件名和時間戳。這些在使用
-N
選項解壓縮文件時使用。這在壓縮文件名被截斷或文件傳輸後未保留時間戳時很有用。這些儲存在元數據中的文件名也可以通過以下方式查看
file
:$ echo "foo" > myfile_orig $ gzip myfile_orig $ mv myfile_orig.gz myfile_new.gz $ file myfile_new.gz myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug 5 08:46:39 2019, from Unix $ gunzip myfile_new.gz # gunzip without -N $ ls myfile_* myfile_new $ rm myfile_* $ echo "foo" > myfile_orig $ gzip myfile_orig $ mv myfile_orig.gz myfile_new.gz # gunzip with -N $ gunzip -N myfile_new.gz # gunzip with -N $ ls myfile_* myfile_orig