Risposte:
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>
funziona bene su EL 6
"\\"verrebbe usato (altrimenti dovresti sempre ricordare quali personaggi sono fughe speciali). Quindi è una differenza di citazione se l'autore intendesse "citare il carattere glob" (non necessario). In ogni caso, una singola barra rovesciata del genere è un errore di battitura.
Provare:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
caution: filename not matched: foldername/\*quando corro unzip $repozip "$2-master/\*" -d /srv/www/magento/dov'è $2il nome della cartella nella zip Voglio estrarre tutti i file e le cartelle da
"path/*".
mvseguito per ottenere i file dove ne avevo bisogno.
-jper quello.
-jrimuove tutte le informazioni sul percorso e tutti i file vanno nella cartella di destinazione. C'è un modo per rimuovere solo la parte comune del percorso? Simile alla cerniera -r.
Le due risposte esistenti sono entrambe corrette, ma è un po 'complicato specificare la directory di destinazione, che dovrebbe essere meglio chiarita.
Diciamo che /target/root/è la directory target dell'azione di decompressione originale, ad esempio:
unzip -qq src.zip -d "/target/root/"
Quindi, dobbiamo usare lo stesso /target/root/della directory target in seguito, anche se vogliamo estrarre solo una sottodirectory specifica, poiché funziona il modo unzip:
unzip -qq src.zip "sub/dir/*" "/target/root/"
Dopotutto, la regola è in realtà semplice, utilizzare la stessa directory radice di destinazione per l' -dopzione .
A proposito, l' -qqopzione è per decomprimere per essere davvero silenzioso, sentiti libero di rimuoverlo.