Om du har en katalog med dussintals zip-filer eller rar'd-filer kan du köra ett enda kommando för att unzipa dem alla i ett steg, tack vare kraften på bash-skalet.

För denna uppgift använder vi bashs for loop-kommandostrukturen. Byta ut med ett variabelt namn och med antingen ett kommando som matar ut en lista eller en explicit lista.

for in do command $;done

Du kan köra den på en enda rad med den här syntaxen istället:

for in ;do command $;done

Så om du vill unrar en lista med filer kan du använda det här kommandot. Du behöver inte nödvändigtvis citat, men det hjälper när filnamnen har mellanslag eller något liknande i dem.

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

Om du ville använda 7zip för att extrahera en lista med filer:

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

Eller om du vill pakka ut en lista med filer:

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

Du kan till och med kedja kommandon tillsammans om du ville. Till exempel om alla dina zip-filer innehöll .txt-filer och du ville ta bort dem och flytta sedan de ozippade filerna till en annan katalog:

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

Bash skalet är bara så oerhört kraftfullt ... det här tappar inte ens kraften, men det borde ge dig en bra bild av vad som är möjligt.

Top Tips:
Kommentarer: