มีวิธีตรวจสอบจำนวนไฟล์ที่สามารถบีบอัดโดยไม่บีบอัดจริงหรือไม่?


0

ฉันมีไฟล์ไดรฟ์เสมือนขนาดใหญ่ (80GB) ซึ่งฉันต้องการบีบอัด แต่ก่อนที่ฉันจะทำฉันต้องการดูว่ามันอัดได้จริงเพียงใดก่อนที่จะเริ่มสร้างไฟล์ขนาดใหญ่อีกตัว (อาจเป็นไปได้) ว่าข้อมูลไม่สามารถ ถูกบีบอัดมาก)

มีวิธีทำเช่นนี้หรือไม่? เช่นการวิเคราะห์ชุดข้อมูลที่มีอยู่เพื่อดูว่ามีพื้นที่สำหรับการบีบอัดมากโดยไม่ต้องเขียนไฟล์เอาต์พุตจริงหรือไม่


"ไม่บีบอัดจริง ๆ " หมายถึง "ไม่สร้างไฟล์" หรือ "ไม่ต้องใช้ CPU รอบ"
Kamil Maciorowski

โดยไม่ต้องสร้างไฟล์ใช่ ได้ชี้แจงคำถามขอบคุณสำหรับความคิดเห็น
mydoghasworms

หมายเหตุ (เกี่ยวกับคำถามเดิมของคุณ): tar ไม่บีบอัด
Kamil Maciorowski

โอ้ใช่ขอโทษ
mydoghasworms

คำตอบ:


4

เครื่องมือบีบอัดใด ๆ ที่สามารถเขียนไปยัง stdout สามารถใช้ได้ เพียงไปที่ท่อ wc -c. ตัวอย่าง:

gzip -c -9 < bigfile | wc -c

หมายเหตุเครื่องมือทำงานและเน้น CPU ของคุณไม่ว่าเอาต์พุตจะไปที่ใด


2
ฉันจะเพิ่ม pv bigfile | gzip | wc -c หรือแม้กระทั่ง pv -cN raw bigfile | gzip | pv -cN zipped | wc -c ถ้าคุณต้องการผลลัพธ์ความคืบหน้า
grawity

ดังนั้นจึงไม่มีวิธีที่จะวิเคราะห์ข้อมูลที่จะบีบอัดเพื่อดูว่ามันจะถูกบีบอัดมากน้อยเพียงใดโดยไม่ต้องบีบอัดข้อมูลจริงใช่ไหม เพราะถ้าฉันเข้าใจถูกต้องว่าเกิดอะไรขึ้นที่นี่ (เพราะบางทีฉันไม่ได้) แล้วมันบีบอัดข้อมูลจริง ๆ เพื่อดูว่าผลใหญ่แค่ไหน?
mydoghasworms

@ mydoghasworms ฉันเดาว่าฮิวริสติกบางอย่างที่ทำงานในบางกรณีเป็นไปได้ แต่ฉันไม่สามารถพูดได้ว่าฉันเห็นเครื่องมือที่ใช้วิธีนี้
Kamil Maciorowski

ขอบคุณในกรณีนี้ฉันจะยอมรับคำตอบของคุณ ฉันเริ่มต้นกระบวนการด้วยคำแนะนำของ @grawity เพื่อใช้ pv สำหรับผลลัพธ์ของความคืบหน้า จะยังคงใช้เวลาเกินครึ่งชั่วโมงเพื่อค้นหาว่าไฟล์ 80GB นี้สามารถบีบอัดได้เท่าใด ในแง่ของเวลาและค่าใช้จ่ายด้านพลังงานเทียบกับค่าใช้จ่ายในการจัดเก็บมันอาจคุ้มค่ากว่าที่จะคัดลอกไฟล์ตามที่เป็น :-) มันเป็นการออกกำลังกายที่น่าสนใจอยู่แล้วดังนั้นขอบคุณสำหรับคำตอบ!
mydoghasworms

1
@ mydoghasworms นี่คือสิ่งที่สอง pv สำหรับ.
Kamil Maciorowski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.