Pagina principala » HOWTO » Unzip sau Unrar multe fișiere în același timp în Linux

    Unzip sau Unrar multe fișiere în același timp în Linux

    Dacă aveți un director cu zeci de fișiere zip sau rar'd, puteți rula o singură comandă pentru a le dezarhiva într-un singur pas, grație puterii coșului bash.

    Pentru această sarcină, vom folosi structura de comandă pentru bash. Înlocuiți cu un nume de variabilă și cu o comandă care emite o listă sau o listă explicită.

    pentru in
    do
    comanda $;
    Terminat

    Puteți rula pe o singură linie cu această sintaxă:

    pentru in, comanda $; done

    Deci, dacă doriți să dezarhivați o listă de fișiere, puteți utiliza această comandă. Nu aveți neapărat nevoie de citate, dar vă ajută când numele de fișiere au spații sau ceva de genul acesta în ele.

    pentru f în * .rar; faceți unar e "$ f";

    Dacă doriți să utilizați 7zip pentru a extrage o listă de fișiere:

    pentru f în * .001; face 7z e "$ f";

    Sau dacă doriți să dezarhivați o listă de fișiere:

    pentru f în * .zip; dezarhivează "$ f"; terminat

    Puteți chiar să alăturați comenzile împreună dacă doriți. De exemplu, dacă toate fișierele zip conțin fișiere .txt și ați vrut să le dezarhivați și apoi să mutați fișierele dezarhivate într-un alt director:

    pentru f în * .zip; dezarhivați "$ f"; pentru f în * .txt; face mv "$ f" / myfolder /; terminat

    Coaja de bash este la fel de incredibil de puternică ... asta nu atinge nici măcar puterea, dar ar trebui să îți dai o idee bună despre ce este posibil.