Tôi đã sử dụng "giải nén XXX.zip" để giải nén tệp zip, không may, tôi mắc lỗi.
Bây giờ tôi muốn xóa tất cả các tập tin và thư mục được tạo bởi "giải nén".
Làm thế nào tôi có thể hoàn tác nó?
Tôi đã sử dụng "giải nén XXX.zip" để giải nén tệp zip, không may, tôi mắc lỗi.
Bây giờ tôi muốn xóa tất cả các tập tin và thư mục được tạo bởi "giải nén".
Làm thế nào tôi có thể hoàn tác nó?
Câu trả lời:
dùng cái này:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Sử dụng điều này nếu bạn nghi ngờ (sẽ nhắc xác nhận)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
awk '{print $4}'
- một tên tệp có khoảng trắng có thể nằm trong $4 $5 $6 ...
. :)
unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
Bạn đang ở một vị trí khó khăn; zipinfo(1)
tiện ích tiêu chuẩn không cung cấp bất kỳ cơ chế nào để lấy tên tệp rõ ràng ra khỏi kho lưu trữ. Nhưng , bạn có thể đến gần:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Nếu bạn chắc chắn rằng không có tệp nào có dòng mới trong đó, bạn có thể xóa -i
tùy chọn này rm(1)
(chắc chắn sẽ rất tẻ nhạt).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Có phải công việc vì -Z
gọi zipinfo
tiện ích và -1
tùy chọn yêu cầu nó chỉ in tên tệp
Bạn có thể tìm thêm chi tiết về điều này thông qua man unzip
và man 1 zipinfo
các lệnh
Nếu bạn muốn dọn sạch thư mục của mình sau khi vô tình giải nén mà không tạo thư mục trước, bạn có thể tạo thư mục, giải nén vào đó và sau đó:
rm -r ` ls folder `
"` "Siêu hữu ích cho các chuỗi lệnh nhưng nó rất chính xác.
Các ý kiến đã cải thiện câu trả lời này, nếu bạn muốn đảm bảo bạn cũng xóa các tệp bị ẩn (điều mà bạn có thể làm), hãy làm điều này
rm -r ` ls -A folder `
ls -a
).
ls -A
để tránh các lỗi từ danh sách .
và..
Để thực hiện việc này trong Nautilus (không có dòng lệnh), bạn chỉ cần điều hướng đến nơi bạn vô tình trích xuất các tệp, sắp xếp các tệp bằng cách nhấp vào tab "Đã sửa đổi", sau đó chọn và xóa tất cả các tệp có nhãn chính xác theo thời gian bạn đã chạy lệnh giải nén.
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}
-i
chỉnh sửa. :)