Hjemmeside » hvordan » Unzip eller Unrar mange filer samtidig i Linux

    Unzip eller Unrar mange filer samtidig i Linux

    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 bashs for loop kommandostruktur. Erstatt med et variabelt navn, og med enten en kommando som gir ut en liste eller en eksplisitt liste.

    for i
    gjøre
    kommando $;
    ferdig

    Du kan kjøre den på en enkelt linje med denne syntaksen i stedet:

    for inn; gjør kommando $; ferdig

    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 filnavnene har mellomrom eller noe sånt i dem.

    for f i * .rar; gjør unrar e "$ f"; ferdig

    Hvis du vil bruke 7zip til å trekke ut en liste over filer:

    for f i * .001; gjør 7z e "$ f"; ferdig

    Eller hvis du vil pakke ut en liste over filer:

    for f i * .zip; gjør unzip "$ f"; ferdig

    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 deretter flytte utpakket filene til en annen katalog:

    for f i * .zip; gjør unzip "$ f"; ferdig; for f i * .txt; gjør mv "$ f" / myfolder /; ferdig

    Den bash shell er bare så utrolig kraftig ... dette tapper ikke kraften, men det bør gi deg en god ide om hva som er mulig.