it-swarm.com.de

Linux-Befehl zum Entpacken: Option zum Überschreiben erzwingen?

Ich schreibe ein Shell-Skript, das eine Zip-Datei in eine vorhandene Hierarchie von Dateien entpackt und möglicherweise einige der Dateien überschreibt.

Das Problem ist, dass der Befehl unzip nach einer Bestätigung fragt:
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

Gibt es eine Option, das Entpacken zu erzwingen, um die Dateien zu überschreiben?

163
Nicolas Raoul

Laut http://www.manpagez.com/man/1/unzip/ können Sie die Option -o verwenden, um Dateien zu überschreiben:

unzip -o /path/to/archive.Zip

Beachten Sie, dass -o, wie die meisten Optionen von unzip, vor dem Archivnamen vor stehen muss.

248
foraidt

Wenn Sie entpacken müssen, um nur die neuen Dateien zu ersetzen, können Sie verwenden

unzip -f archieve.Zip

Für zukünftige Referenzen können Sie jedoch einfach eingeben

unzip 

und Sie erhalten eine Liste der Argumente für dieses Paket. Die möglichen Argumente für diesen Fall sind:

-f  freshen existing files, create none
-n  never overwrite existing files         
-q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting    

Verwenden Sie diejenige, die Sie für Ihre Bedürfnisse besser geeignet fühlen.

28
Prateek Shankar