Beides nicht -
und -@
Lassen Sie einfach Argumente in ersetzen zip
mit Sachen durch Standardeingabe geleitet? Was ist der Unterschied?
quelle
Beides nicht -
und -@
Lassen Sie einfach Argumente in ersetzen zip
mit Sachen durch Standardeingabe geleitet? Was ist der Unterschied?
Der Unterschied ist das -
wird komprimieren stdin
als ob stdin
ist selbst die zu komprimierende Datei. -@
liest eine Liste von Dateinamen aus stdin
und fügen Sie jede dieser Dateien zum Archiv hinzu. Die Beispiele in die Manpage illustrieren Sie den Unterschied (verwenden Sie das aber bitte nicht -@
Es ist beispielsweise fehlerhaft und schlägt bei allen Namen fehl, die Zeichen enthalten IFS
wie Leerzeichen):
Unter Unix kann diese Option in Verbindung mit dem Befehl find (1) verwendet werden. Um beispielsweise alle C-Quelldateien im aktuellen Verzeichnis und dessen Unterverzeichnissen zu archivieren:
find . -name "*.[ch]" -print | zip source -@
und
zip akzeptiert auch einen einzelnen Bindestrich ("-") als Namen einer zu komprimierenden Datei. In diesem Fall wird die Datei aus der Standardeingabe gelesen, sodass zip Eingaben aus einem anderen Programm übernehmen kann. Zum Beispiel:
tar cf - . | zip backup -