Thanh tiến trình có độ dài cố định, số tệp hoặc số byte hoặc tốt hơn là bộ hẹn giờ hiển thị thời gian ước tính còn lại sẽ là lý tưởng.
zip
Hành vi tiêu chuẩn của dường như là in một dòng cho mỗi tệp được xử lý, nhưng tôi không muốn thông tin đó bị quá tải khi tôi nén hàng nghìn tệp. Tôi muốn dự đoán sẽ mất bao lâu.
Tôi đã thử tùy chọn -q
( --quiet
) kết hợp với -dg
( --display-globaldots
) nhưng điều đó chỉ làm tràn ngập thiết bị xuất chuẩn với nhiều dòng dấu chấm và không đưa ra dấu hiệu hữu ích nào.
Tôi cũng đã thử -qdgds 10m
như được đề cập trong trang người đàn ông, nhưng nhận được kết quả tương tự.
Sau đó tôi đã thử -db
( --display-bytes
) và -dc
( --display-counts
) nhưng dường như không có tùy chọn toàn cầu, vì vậy nó lại in nó cho mỗi tên tệp.
Cuối cùng, tôi đã thử nó cùng với -q
like -qdbdc
, nhưng điều đó không mang lại kết quả gì.
Thật thú vị, tôi đã tìm thấy một trang người đàn ông trên trang web thông tin có đề cập đến một tùy chọn -de
( --display-est-to-go
) sẽ "Hiển thị ước tính thời gian để hoàn thành thao tác lưu trữ."
Nghe có vẻ chính xác như những gì tôi muốn, nhưng vấn đề là phiên bản của zip
tôi không có tính năng đó. Tôi đang sử dụng Ubuntu 14.04.1 64 bit, bash-4.3.30 (1) và zip-3.00. Theo Wikipedia, đây là bản phát hành ổn định mới nhất của zip.
Có các phiên bản beta chưa được phát hành trên trang sourceforge, nhưng tôi không muốn giao dữ liệu của mình cho bản phát hành beta.
pv /path/to/file | gzip > /path/to/file.gz
tee
. Trước khi bắt đầu zip, hãy tạo tổng số tệp (cóls
hoặcfind -type f
) và trong khi nén, hãy đọc tệp nhật ký để biết số dòng tệp đã xử lý mà nó đã có (vớigrep
các dòng bên phải để xem vàwc -l
cho các dòng đếm), vì vậy thông tin cấp cao của bạn sẽ hiển thị nội dung như "234/76438 tệp được xử lý";