Giải nén hoặc hủy nhiều tệp cùng một lúc trong Linux

Giải nén hoặc hủy nhiều tệp cùng một lúc trong Linux
Giải nén hoặc hủy nhiều tệp cùng một lúc trong Linux

Video: Giải nén hoặc hủy nhiều tệp cùng một lúc trong Linux

Video: Giải nén hoặc hủy nhiều tệp cùng một lúc trong Linux
Video: Lý do không nên chọn Smarthome Wifi - YouTube 2024, Tháng tư
Anonim

Nếu bạn có một thư mục chứa hàng tá tệp nén hoặc tệp rar, bạn có thể chạy một lệnh duy nhất để giải nén tất cả chúng trong một bước, nhờ sức mạnh của bash shell.

Đối với tác vụ này, chúng tôi sẽ sử dụng cấu trúc lệnh của bash’s for loop. Thay thế với tên biến và

với một lệnh xuất ra một danh sách hoặc một danh sách rõ ràng.

for in

do command $; done

Bạn có thể chạy nó trên một dòng duy nhất với cú pháp này thay vào đó:

for in

;do command $;done

Vì vậy, nếu bạn muốn unrar một danh sách các tập tin, bạn có thể sử dụng lệnh này. Bạn không nhất thiết cần báo giá, nhưng nó sẽ giúp khi tên tập tin có dấu cách hoặc thứ gì đó giống như vậy trong chúng.

for f in *.rar;do unrar e “$f”;done

Nếu bạn muốn sử dụng 7zip để trích xuất danh sách tệp:

for f in *.001;do 7z e “$f”;done

Hoặc nếu bạn muốn giải nén danh sách tệp:

for f in *.zip;do unzip “$f”;done

Bạn thậm chí có thể chuỗi lệnh với nhau nếu bạn muốn. Ví dụ: nếu tất cả các tệp zip của bạn chứa tệp.txt và bạn muốn giải nén chúng, sau đó di chuyển các tệp đã giải nén vào thư mục khác:

for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done

Vỏ bash chỉ cực kỳ mạnh mẽ … điều này thậm chí không chạm vào sức mạnh, nhưng nó sẽ cho bạn một ý tưởng tốt về những gì có thể.

Đề xuất: