Samstag, 25. Februar 2012

Unzip of Unrar Veel bestanden in een keer in Linux

Als je hebt een map met tientallen gezipte of rar'd bestanden, kunt u een enkele opdracht om ze allemaal uit te pakken in een stap, dankzij de kracht van de bash-shell.

Voor deze taak, gebruiken we bash voor loop commandostructuur. Te vervangen met een variabele naam en met ofwel een commando dat een lijst of een expliciete lijst uitgangen.

for in
do
commando $;
done

Je kunt het in plaats daarvan op een enkele lijn met deze syntax:

for in , Doe commando $;done

Dus als je wilt om een ​​lijst met bestanden unrar, kunt u gebruik maken van deze opdracht. Je hoeft niet per se de aanhalingstekens, maar het helpt als de bestandsnamen spaties bevatten of iets dergelijks in hen.

for f in *. rar, doe unrar e "$ f"; gedaan

Als je wilde 7zip gebruiken om een ​​lijst van bestanden uit te pakken:

for f in *. 001; doen 7z e "$ f"; gedaan

Of als je wilde een lijst met bestanden uit te pakken:

for f in *. zip, doe Unzip "$ f"; gedaan

Je zou zelfs kunnen keten commando's samen als je dat zou willen. Bijvoorbeeld, als al je zip-bestanden uit txt-bestanden en je wilde ze unzip en plaats de uitgepakte bestanden naar een andere map.:

for f in *. zip, doe Unzip "$ f", gedaan, for f in *. txt; doen mv "$ f" / MyFolder /; gedaan

De bash-shell is gewoon zo ongelooflijk krachtig ... dit niet eens tik op de kracht, maar het geeft je een goed idee van wat mogelijk is.

Keine Kommentare:

Kommentar veröffentlichen