ฉันมีไดเรกทอรีที่มี.txt.gz
ไฟล์จำนวนมาก(ที่ชื่อไม่เป็นไปตามรูปแบบเฉพาะ)
วิธีที่ง่ายที่สุดสำหรับgunzip
พวกเขาคืออะไร? ฉันต้องการที่จะรักษาชื่อเดิมของพวกเขาเพื่อให้พวกเขาไปจากwhatevz.txt.gz
การwhatevz.txt
ฉันมีไดเรกทอรีที่มี.txt.gz
ไฟล์จำนวนมาก(ที่ชื่อไม่เป็นไปตามรูปแบบเฉพาะ)
วิธีที่ง่ายที่สุดสำหรับgunzip
พวกเขาคืออะไร? ฉันต้องการที่จะรักษาชื่อเดิมของพวกเขาเพื่อให้พวกเขาไปจากwhatevz.txt.gz
การwhatevz.txt
คำตอบ:
แค่นี้ล่ะ
$ gunzip *.txt.gz
gunzip
จะสร้างไฟล์ gunzipped โดยไม่มี .gz
คำต่อท้ายและลบไฟล์ดั้งเดิมตามค่าเริ่มต้น (ดูรายละเอียดด้านล่าง) *.txt.gz
จะถูกขยายโดยเชลล์ของคุณไปยังไฟล์ทั้งหมดที่ตรงกัน
บิตสุดท้ายนี้จะทำให้คุณเดือดร้อนหากขยายไปยังรายการไฟล์ที่ยาวมาก ในกรณีนั้นให้ลองใช้find
และ-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 สามารถจัดเก็บและกู้คืนชื่อไฟล์ที่ใช้ในเวลาบีบอัด แม้ว่าคุณจะเปลี่ยนชื่อไฟล์ที่ถูกบีบอัด แต่คุณก็แปลกใจที่พบว่าไฟล์ดังกล่าวคืนสู่ชื่อเดิมอีกครั้ง
จาก manz 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
หากคุณต้องการเก็บ.gz
ไฟล์คุณสามารถใช้สิ่งต่อไปนี้:
$ gunzip -c inputfile.gz >outputfile
ใช้คำสั่งนี้เพื่อ gunzip (unzip gz ไฟล์) ไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันและเก็บต้นฉบับ:
gunzip -k *.gz