Loại bỏ trích xuất thư mục __MACOSX khi giải nén


3

Lưu trữ ZIP được sản xuất trên các hệ thống Mac OS X thường bao gồm một __MACOSX thư mục đó là vô dụng, gây phiền nhiễu và không mong muốn trên khá nhiều hệ điều hành khác.

Để giải nén tài liệu lưu trữ ZIP tôi sử dụng Thông tin-ZIP , mà tôi nghĩ là unzipper mặc định trên hầu hết các bản phân phối Linux. Cách tốt nhất để có Info-ZIP là gì unzip luôn luôn và tự động ngăn chặn việc trích xuất bất kỳ __MACOSX thư mục nào có thể có mặt?

Theo unzip trang người đàn ông, -x tùy chọn có thể được sử dụng để loại trừ các thư mục khỏi quá trình xử lý và thực sự thêm -x __MACOSX/* đến cuối của tôi unzip dòng lệnh thực hiện các mẹo. Nhưng tôi không muốn phải gõ cái này mọi lúc. Trang man cũng nói rằng các tùy chọn dòng lệnh có thể được đọc từ UNZIP biến môi trường, nhưng rõ ràng điều này chỉ hoạt động cho những lựa chọn đi kèm trước tên lưu trữ (trong khi -x phải đến sau nó):

$ export UNZIP="-x __MACOSX/*"
$ unzip foo.zip
unzip:  cannot find or open __MACOSX, __MACOSX.zip or __MACOSX.ZIP.

Có giải pháp nào tốt hơn bọc không unzip trong một kịch bản shell tự động thêm -x __MACOSX/* đến cuối dòng lệnh?

Câu trả lời:


5

Sử dụng hàm shell:

myunzip() {
    unzip "@$" -x '__MACOSX/*'
}

myunzip foo.zip
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.