Nếu kho lưu trữ chứa một số tệp trong thư mục gốc, tôi muốn tạo một thư mục được đặt tên theo tên tệp (không có phần mở rộng). Nếu một kho lưu trữ chỉ chứa một thư mục, thì tôi chỉ muốn giải nén nó. Giả sử tôi có kho lưu trữ sau:
# file: withdir.zip
somedir/alpha
somedir/beta
somedir/gamma
Nếu tôi giải nén nó trong thư mục hiện tại, tôi chỉ muốn giải nén nó ( unzip withdir.zip
):
somedir/alpha
somedir/beta
somedir/gamma
Bây giờ giả sử kho lưu trữ sau:
# file: nodir.zip
alpha
beta
gamma
Khi tôi chạy, unzip nodir.zip
cuối cùng tôi làm lộn xộn thư mục hiện tại với ba tệp:
alpha
beta
gamma
Tôi thà chạy unzip -d nodir nodir.zip
:
nodir/alpha
nodir/beta
nodir/gamma
Nếu tôi sử dụng nautilus và nhấp chuột phải vào trích xuất ở đây. Nó hành xử chính xác như nó cần. Nhưng thật không may, tôi đã không tìm thấy một chuyển đổi dòng lệnh cho unzip
hoặc
7z
mang lại hành vi tương tự. Làm thế nào để đạt được điều đó? Có công cụ nào khác tôi có thể sử dụng thay thế (không có GUI) không?
withdir
mục cho kho lưu trữwithdir.zip
mặc dù nó chỉ chứa một thư mục trong thư mục gốc vìgrep -c "Folder = -"
trả về3
.