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.