Hvis du har en katalog med dusinvis av zip-filer eller rar'd-filer, kan du kjøre en enkelt kommando for å pakke dem ut i ett trinn, takket være kraften til bash-skallet.
For denne oppgaven bruker vi bash for loop kommandostruktur. Erstatte med et variabelt navn, og
- med enten en kommando som utgir en liste eller en eksplisitt liste.
for in
do command $; done
Du kan kjøre den på en enkelt linje med denne syntaksen i stedet:
for in
;do command $;done
Så hvis du vil unrar en liste over filer, kan du bruke denne kommandoen. Du trenger ikke nødvendigvis anførselstegnene, men det hjelper når filnavnet har mellomrom eller noe sånt i dem.
for f in *.rar;do unrar e “$f”;done
Hvis du vil bruke 7zip til å trekke ut en liste over filer:
for f in *.001;do 7z e “$f”;done
Eller hvis du vil pakke ut en liste over filer:
for f in *.zip;do unzip “$f”;done
Du kan til og med kjede kommandoer sammen hvis du vil. For eksempel, hvis alle zip-filene dine inneholdt.txt-filer, og du ønsket å pakke dem ut og flytte de utpakket filene til en annen katalog:
for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done
Den bash shell er bare så utrolig kraftig … dette ikke engang trykke på strømmen, men det bør gi deg en god ide om hva som er mulig.