giải nén nhiều tập tin


14

Tôi không nghĩ rằng tôi là người duy nhất gặp vấn đề này, nhưng tiếc là tôi không thể tìm được câu trả lời thích đáng giữa các câu hỏi đã hỏi trước đó.

Đây là một thủ tục rất phổ biến trên các trang web torrent nơi nội dung được chia thành nhiều tài liệu lưu trữ nhỏ. Đôi khi, những kho lưu trữ zip được lập chỉ mục nhỏ đó có chứa một kho lưu trữ rar khác bên trong.

Vì vậy, câu hỏi của tôi là: làm thế nào để bạn xử lý vấn đề này? Làm thế nào để bạn giải nén đệ quy những tập tin đó?


2
Bạn có thể cho một ví dụ?
ztik

Bạn đang tìm kiếm một hướng dẫn hoặc một giải pháp hoàn toàn tự động?
David Foerster

chỉ là một ghi chú, thông thường khi bạn tìm thấy loại torrent đó về phần mềm / phim bất hợp pháp và bạn sẽ không bao giờ thực sự đi đến cuối các tệp .rar / .zip vì đó là giả mạo.
Jeggy

Câu trả lời:


19

Để làm như vậy, chỉ cần nhấn Ctrl+ Alt+ Ttrên bàn phím để mở Terminal. Khi nó mở, chạy (các) lệnh bên dưới:

unzip '*.zip'

Ngoài ra, bạn có thể nhấp chuột phải vào tệp đầu tiên trong nhóm và chọn Trích xuất tại đây và đó cũng sẽ là tất cả các tệp trong nhóm đó.


Theo tài liệu hướng dẫn unzip không hỗ trợ tài liệu lưu trữ phân chia (xem đoạn đầu tiên trong phần Bọ Bọe).
David Foerster

@DavidFoerster chỉ cần thử nghiệm, và nó hoạt động.
Mitch

Ok, sau đó hướng dẫn sử dụng có vẻ là sai. Nắm bắt tốt.
David Foerster

@mitch trong trường hợp của tôi, nó không hoạt động, đó là "lỗi trong khi tải tệp zip" nhưng trên các cửa sổ cùng một thư mục trên cùng một ổ đĩa với winrar, có thể bạn đã cố gắng giải nén nhiều nhưng> tách <tệp zip một cách đồng thời? đó là một điều khác mặc dù.
papajo

2

Để giải nén nhiều tệp bằng vòng lặp -

for z in *.zip; do unzip "$z"; done

@DavidFoerster Hai phương pháp về cơ bản là giống nhau. *.zipcung cấp tất cả các tệp có thể kết thúc bằng phần mở rộng zip mà vòng lặp mở ra từng cái một. Đây cũng là lý do tại sao @Mitch đã bao gồm các trích dẫn duy nhất trong câu trả lời của mình để làm cho nó '*.zip', để trình bao không nhận ra nó là một ký tự đại diện.
Rohith Madhavan

1
Đây thực sự là một phương pháp tốt hơn vì bạn có thể chỉ định danh sách tên tệp thay vì nói "tất cả các tệp trong thư mục". IE bạn muốn trích xuất một danh sách cụ thể các tệp zip lần lượt theo thứ tự, bạn có thể thực hiện, "cho z trong XYZTG; thực hiện giải nén -o" $ z.zip "; xong" và nó sẽ thực hiện theo thứ tự đó. Đây là câu trả lời tốt hơn imho.
John Hamilton

0

CTRL+ ALT+ Tđể mở một thiết bị đầu cuối

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

Điều này về cơ bản lặp qua tất cả các khóa bạn có trong thư mục hiện tại của bạn và giải nén từng cái trong số chúng dài ra (do đó là -vcờ) vào một thư mục ( -dcờ)

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.