Der Linux-Zip-Befehl packt Dateien, die Lösung, wenn zu viele Dateien vorhanden sind. bash: /usr/bin/zip: Argumentliste zu lang

Ein verwandter Hintergrund

zip aa.rar folder/*.aacIm Ordner a befinden sich 200.000 AAC-Dateien und 200.000 TXT-Dateien. Ich möchte die AAC-Dateien mit dem Befehl in zip packen und erhalte dann eine Eingabeaufforderung. Der Grund dafür ist, dass zu viele Dateien darin sind, was den Verarbeitungsbereich bash: /usr/bin/zip: Argument list too longüberschreitet von Reißverschluss.

2. Lösung

find /path/to/folder -name "*.aac" -exec zip aac_files.zip {
    
    } +

Wenn Sie den Befehl „find“ in Kombination mit dem Befehl „zip“ zum Packen von Dateien verwenden, können Sie Fehler durch zu lange Parameterlisten vermeiden. Lassen Sie mich die verschiedenen Teile dieses Befehls Schritt für Schritt erklären:

find: Dies ist ein Dienstprogramm unter Linux, mit dem nach Dateien und Verzeichnissen unter einem angegebenen Pfad gesucht wird.

/path/to/folder: Dies ist der tatsächliche Pfad zu dem Ordner, den Sie durchsuchen möchten. Bitte ersetzen Sie es durch den Pfad zu dem Ordner, der die AAC- und TXT-Dateien enthält.

-name "*.aac": Dies ist eine der Optionen des Suchbefehls und wird verwendet, um das zu findende Dateinamenmuster anzugeben. In diesem Fall verwenden wir *.aac, um alle Dateien mit der Erweiterung .aac abzugleichen.

-exec zip aac_files.zip {} +: Dies ist eine weitere Option zum Suchbefehl, um einen bestimmten Befehl auszuführen, wenn eine passende Datei gefunden wird. Hier verwenden wir die Option -exec, um zip aac_files.zip {} + als auszuführenden Befehl anzugeben.

Für -exec zip aac_files.zip {} +diesen Befehl:
zip: Dies ist der Befehl, der zum Erstellen von ZIP-Dateien verwendet wird.
aac_files.zip: Dies ist der Name der ZIP-Datei, die erstellt werden soll. Sie können den Namen bei Bedarf ändern.
{}: Dies ist ein Platzhalter für den Suchbefehl, der an die Option -exec übergeben wird und jede gefundene Datei darstellt.
+: Dies ist das Abschlusszeichen für die Option -exec. Dies bedeutet, dass so viele Dateien wie möglich zusammen an den Befehl zip übergeben werden, um Fehler mit zu langen Parameterlisten zu vermeiden.
Mit dem obigen Befehl durchsucht find den angegebenen Ordner nach Dateien mit der Erweiterung .aac und übergibt sie an den Befehl zip, um eine ZIP-Datei mit dem Namen aac_files.zip zu erstellen. Egal wie groß die Anzahl der Dateien ist, dieser Befehl kann damit umgehen und Fehler mit zu langen Parameterlisten vermeiden.

Supongo que te gusta

Origin blog.csdn.net/qq_29007291/article/details/131429878
Recomendado
Clasificación