Entpacken oder entpacken Sie viele Dateien auf einmal unter Linux
Wenn Sie ein Verzeichnis mit Dutzenden gezippter oder seltener Dateien haben, können Sie dank der leistungsstarken Bash-Shell einen einzigen Befehl ausführen, um sie alle in einem Schritt zu entpacken.
Für diese Aufgabe verwenden wir bash für die Befehlsstruktur der Schleife. Ersetzen Sie sie durch einen Variablennamen und entweder durch einen Befehl, der eine Liste oder eine explizite Liste ausgibt.
für in
tun
Befehl $;
erledigt
Sie können es stattdessen in einer einzelnen Zeile mit dieser Syntax ausführen:
für in; do befehl $; done
Wenn Sie also eine Liste von Dateien aufheben möchten, können Sie diesen Befehl verwenden. Sie brauchen die Anführungszeichen nicht unbedingt, aber es hilft, wenn die Dateinamen Leerzeichen oder ähnliches enthalten.
für f in * .rar; mache "$ f"; erledigt
Wenn Sie 7zip verwenden möchten, um eine Liste von Dateien zu extrahieren:
für f in * .001; 7z e "$ f"; erledigt
Oder wenn Sie eine Liste von Dateien entpacken möchten:
für f in * .zip; entpacken Sie "$ f"; fertig
Sie können sogar Befehle miteinander verketten, wenn Sie möchten. Wenn zum Beispiel alle Ihre ZIP-Dateien TXT-Dateien enthielten und Sie diese entpacken und die entpackten Dateien in ein anderes Verzeichnis verschieben wollten:
für f in * .zip; entpacken Sie "$ f"; done; für f in * .txt; mache mv "$ f" / myfolder /; erledigt
Die Bash-Shell ist so unglaublich mächtig, dass sie nicht einmal die Leistung ausnutzt, aber sie sollte Ihnen eine gute Vorstellung davon geben, was möglich ist.