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ể.