แถบความคืบหน้าที่มีความยาวคงที่จำนวนไฟล์หรือไบต์หรือดีกว่า แต่ตัวจับเวลาที่แสดงเวลาที่เหลือโดยประมาณนั้นจะเหมาะสมที่สุด
zipพฤติกรรมมาตรฐานของดูเหมือนจะพิมพ์บรรทัดสำหรับทุกไฟล์ที่ประมวลผล แต่ฉันไม่ต้องการให้ข้อมูลมากเกินไปเมื่อฉันซิปไฟล์หลายพันไฟล์ ฉันต้องการเดาว่ามันจะใช้เวลานานแค่ไหน
ฉันลองใช้ตัวเลือก-q( --quiet) ร่วมกับ-dg( --display-globaldots) แต่นั่นก็ทำให้ stdout เต็มไปด้วยจุดหลายบรรทัดและไม่แสดงสิ่งที่มีประโยชน์
ฉันพยายาม-qdgds 10mตามที่กล่าวไว้ในหน้า man แต่ได้ผลลัพธ์เดียวกัน
ฉันลองแล้ว-db( --display-bytes) และ-dc( --display-counts) แต่ดูเหมือนจะไม่มีตัวเลือกระดับโลกดังนั้นจึงพิมพ์ใหม่สำหรับชื่อไฟล์ทุกชื่อ
สุดท้ายฉันพยายามมันด้วยกัน-qเหมือน-qdbdcแต่เพียงว่าไม่มีอะไรที่เอาท์พุท
สนุกพอฉันพบหน้าคนในเว็บไซต์ info-zip ที่กล่าวถึงตัวเลือก-de( --display-est-to-go) ซึ่งควรจะ "แสดงเวลาโดยประมาณเพื่อให้การดำเนินการเก็บถาวรเสร็จสิ้น"
ฟังดูเหมือนสิ่งที่ฉันต้องการ แต่ปัญหาคือเวอร์ชั่นของฉันzipไม่มีคุณสมบัตินั้น ฉันใช้ Ubuntu 14.04.1 64 บิต, bash-4.3.30 (1) และ zip-3.00 ตาม Wikipedia นี่เป็นรุ่นล่าสุดที่เสถียรของ zip
มีรุ่นเบต้าที่ยังไม่เผยแพร่ในหน้าแหล่งข้อมูล info-zip แต่ฉันไม่อยากมอบข้อมูลของฉันให้เป็นรุ่นเบต้า
pv /path/to/file | gzip > /path/to/file.gz
teeเข้าสู่ระบบการส่งออกไปยังแฟ้มและใช้มันเพื่อให้ข้อมูลในระดับสูงด้วย ก่อนที่จะเริ่ม zip ให้ทำการนับจำนวนไฟล์ทั้งหมด (ด้วยlsหรือfind -type f) และในขณะที่ซิปให้อ่านไฟล์บันทึกสำหรับจำนวนบรรทัดของไฟล์ที่ถูกประมวลผลที่มีอยู่แล้ว (grepสำหรับบรรทัดที่ถูกต้องเพื่อดูและwc -lสำหรับบรรทัด นับ) ดังนั้นข้อมูลระดับสูงของคุณจะแสดงบางอย่างเช่น "234/76438 ไฟล์ที่ประมวลผล";