find some/dir -name data.txt | zip -@ data.zip
Zippen Sie mehrere Textdateien aus mehreren Verzeichnissen in eine ZIP-Datei in einem Befehl in Bash
1159
nicorellius
Ich habe ein Konto bei AWS und verwende S3 zum Speichern von Daten. Ich habe Befehle, die es mir ermöglichen, Datendateien wie folgt zu komprimieren:
data.zip s3_dir/level-1/level-2/*/*/data.txt
Es gibt aber beispielsweise 50 oder mehr Stufen. Ich möchte alle data.txt-Dateien von allen Ebenen zusammen komprimieren. Ich bin nicht so scharf auf meine Bash wie ich könnte, also würde jede Hilfe sehr geschätzt.
Muss es eine zip-Datei sein? Können Sie stattdessen [gzip] (http://www.mkssoftware.com/docs/man1/gzip.1.asp) verwenden? Es ist nicht dasselbe Format, aber ich weiß, dass es mit der Option -r rekursiv sein kann ...
beatgammit vor 13 Jahren
0
1 Antwort auf die Frage
3
Ignacio Vazquez-Abrams
Das ist perfekt ... Nachdem ich diese Frage gepostet hatte, gab mir ein Kumpel ein paar Hinweise ... Der Befehl, den ich verwendete, war: `find / some / path -name '* .txt' | xargs -n 100 zip all_data.zip`
nicorellius vor 13 Jahren
0
Was ist das "- @" für BTW?
nicorellius vor 13 Jahren
0
Es sagt `zip`, dass die Liste der Dateinamen von stdin abgerufen wird, sodass Sie` xargs` nicht verwenden müssen.
Ignacio Vazquez-Abrams vor 13 Jahren
0
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
8
So erstellen Sie eine mit Windows kompatible ZIP-Datei unter Linux
-
21
Komprimieren mit RAR vs ZIP
-
5
Time Machine Backup auf S3
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?
-
8
Rette mich vor dem Kauderwelsch