พฤติกรรมเริ่มต้นของ gunzip คือการลบไฟล์. gz หลังจากคลายการบีบอัด
ฉันจะป้องกันไม่ให้ลบไฟล์ได้อย่างไร?
หากฟังก์ชั่นนี้ไม่รวมอยู่มีโปรแกรมทางเลือกอื่นที่อนุญาตให้ทำเช่นนี้หรือไม่?
ฉันใช้ Ubuntu 9.04
-k
พฤติกรรมเริ่มต้นของ gunzip คือการลบไฟล์. gz หลังจากคลายการบีบอัด
ฉันจะป้องกันไม่ให้ลบไฟล์ได้อย่างไร?
หากฟังก์ชั่นนี้ไม่รวมอยู่มีโปรแกรมทางเลือกอื่นที่อนุญาตให้ทำเช่นนี้หรือไม่?
ฉันใช้ Ubuntu 9.04
-k
คำตอบ:
คุณกำลังมองหา:
gzcat x.txt.gz >x.txt
gzcat
คำสั่งเทียบเท่ากับซึ่งก็เขียนสตรีมออกไปgunzip -c
stdout
สิ่งนี้จะทำให้ไฟล์ที่ถูกบีบอัดไม่มีการแตะต้อง ดังนั้นคุณสามารถใช้:
gunzip -c x.txt.gz >x.txt
โปรดทราบว่าในบางระบบ gzcat ยังเป็นที่รู้จักกันในนามzcat
เรียกใช้เช่นนี้แทน:
zcat x.txt.gz >x.txt
-k
เพื่อเก็บไฟล์ต้นฉบับ
คุณสามารถใช้-c
ตัวเลือกของ gunzip ซึ่งจะเขียนเอาต์พุตไปยัง stdout จากนั้นไปที่ไฟล์ที่คุณเลือก:
gunzip -c compressed-file.gz > decompressed-file
วิธีที่ง่ายกว่าคือการใช้ gunzip เป็นตัวกรองเช่นนี้:
gunzip < myfile.gz > myfile
gunzip
ไม่เคยรู้ว่าไฟล์ได้รับอะไรทั้งหมดที่เห็นคือกระแสข้อมูลดังนั้นจึงไม่สามารถแก้ไขไฟล์ต้นฉบับได้
หากจริง ๆ แล้วมันเป็น tarball (.tgz หรือ. tar.gz ส่วนขยาย) ดังนั้นแทนที่จะเปลี่ยนเส้นทางไปยังไฟล์เช่นคำตอบทั้งหมดคุณจะต้องไปป์ที่ tar เช่น:
gunzip -c myfile.tar.gz | tar xvf -
เพื่อให้คุณได้รับเนื้อหาจริง
ใช้-c
ตัวเลือกเพื่อคลายการบีบอัดไฟล์เพื่อ stdout มันจะไม่สัมผัสไฟล์ต้นฉบับ
gunzip -c myfile.gz > myfile
gzip -dk myfile.gz
หรือ
gunzip -k myfile.gz
ความคิดเห็นที่:
-k --keep Keep (don't delete) input files during compression or decompression.
Gnu tar สามารถอ่านไฟล์ gzip: tar -zxsvf myfile.tar.gz
หรือtar -jxzvf myfile.tar.bz2
ไฟล์ bzipped tar