GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich nach Dateien suchen und sie in einer Zip-Datei komprimieren?

Der von Ihnen verwendete Befehl führt zip für jede Datei separat aus, versuchen Sie Folgendes:

find . -name <name> -print | zip newZipFile.zip [email protected]

Der [email protected] weist zip an, Dateien aus der Eingabe zu lesen. Von man zip(1),

[email protected] Dateilisten. Wenn eine Dateiliste als [email protected] angegeben ist [Nicht unter MacOS], zip übernimmt die Liste der Eingabedateien von der Standardeingabe statt von der Befehlszeile.


Ihre Antwort ist knapp, aber das könnte besser funktionieren:

find -regex 'regex' -exec zip filname.zip {} +

Dadurch werden alle übereinstimmenden Dateien in einer ZIP-Datei namens filename.zip gespeichert. Sie müssen sich keine Gedanken über Sonderzeichen im Dateinamen (wie Zeilenumbrüche) machen, was Sie tun würden, wenn Sie die Ergebnisse umleiten würden.


Sie können die Namen auch als Ergebnis Ihres Suchbefehls angeben:

zip name.zip `find . -name <name> -print`

Dies ist eine Funktion der von Ihnen verwendeten Shell. Sie können nach "Backticks" suchen, um festzustellen, wie Ihre Shell damit umgeht.


Linux
  1. So extrahieren Sie .gz- und .tar.gz-Dateien unter Linux

  2. Wie suche ich nach Dateien nach Größe und Erweiterung?

  3. Ein Verzeichnis nach Dateien durchsuchen und das Ergebnis in eine Textdatei ausgeben?

  4. So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

  5. Wie kann ich in einer Datei nach einem mehrzeiligen Muster suchen?

Wie man Textdateien unter Linux vergleicht und zusammenführt

So komprimieren und entpacken Sie Dateien unter Ubuntu

So finden Sie doppelte Dateien in Linux und entfernen sie

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

So führen Sie eine Grep-Suche für alle Dateien und in allen Verzeichnissen durch

So komprimieren Sie eine Datei unter Linux