it-swarm.com.de

Wie kann ich die Befehlszeilenausgabe von zip teilweise unterdrücken?

Der Hintergrund: Ich habe ein python -Skript, das eine Reihe von Bildern generiert (png-Format, mindestens mehrere hundert), ffmpeg ausführt, um sie in ein kurzes Video umzuwandeln, und dann alle Bilder in eine Zip-Datei legt archivieren, damit ich zurückgehen kann, wenn ich merkwürdige oder interessante Dinge finde, bei denen ich den individuellen Rahmen haben möchte.

Das Problem: Ursprünglich lautete der Zip-Teil Zip -q -T -m output *.png, aber dies unterdrückte alle die Ausgabe, einschließlich der Aussage, ob die Datei in Ordnung ist. Gibt es eine Möglichkeit, die große Anzahl von updating: Stars0053.png (deflated 5%) zu unterdrücken, ohne die Ausgabe des Schalters -T zu unterdrücken?

6
thegrinner
Zip -q -T -m output *.png  && echo "success" || echo "failure"

sollte auch funktionieren, alternativ zu der in den Kommentaren angegebenen Lösung.

Das funktioniert so: Wenn der erste Befehl (Zip ...) erfolgreich ist, kann auch die folgende Kombination mit && erfolgreich sein und wird ausgeführt. Wenn jedoch der erste Teil fehlschlägt, schlägt die gesamte Kombination fehl, und der && - Teil wird übersprungen, aber eine Oder-Kombination ist erfolgreich, wenn einer von beiden erfolgreich ist, sodass der || -Teil ausgeführt wird.

Sie interessieren sich nicht für das kombinierte Ergebnis (wahr/falsch), sondern für den Nebeneffekt: eine Statusrückmeldung.

7
user unknown

Alternativ können Sie Pythons eigene Zip-Bibliothek verwenden:

http://docs.python.org/library/zipfile.html

1
Seppo Erviälä