Homepage » come » Unzip o Unrar Molti file contemporaneamente in Linux

    Unzip o Unrar Molti file contemporaneamente in Linux

    Se hai una directory con dozzine di file zippati o rar, puoi eseguire un singolo comando per decomprimerli tutti in un unico passaggio, grazie alla potenza della shell bash.

    Per questa attività, useremo la struttura di comando del ciclo per bash. Sostituisci con un nome di variabile e con un comando che genera un elenco o un elenco esplicito.

    per dentro
    fare
    comando $;
    fatto

    Puoi eseguirlo su una singola riga con questa sintassi invece:

    for in; do comando $; fatto

    Quindi se vuoi rimuovere un elenco di file, puoi usare questo comando. Non hai necessariamente bisogno delle virgolette, ma aiuta quando i nomi dei file hanno spazi o qualcosa del genere in loro.

    per f in * .rar; fare unrar e "$ f"; fatto

    Se si desidera utilizzare 7zip per estrarre un elenco di file:

    per f in * .001; do 7z e "$ f"; fatto

    O se volevi decomprimere un elenco di file:

    per f in * .zip; fai decomprimere "$ f"; fatto

    Puoi anche concatenare i comandi se lo desideri. Ad esempio, se tutti i file zip contenevano file .txt e volevi decomprimerli e spostare i file decompressi in un'altra directory:

    per f in * .zip; fai decomprimere "$ f"; per f in * .txt; fai mv "$ f" / myfolder /; done

    La shell bash è così incredibilmente potente ... questo non tocca nemmeno il potere, ma dovrebbe darti una buona idea di ciò che è possibile.