Startseite » wie man » Entpacken oder entpacken Sie viele Dateien auf einmal unter Linux

    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.