A seconda di come viene creato un file zip, a volte estrarrà direttamente tutti i file e, a volte, estrarrà i file in una sottodirectory.
Se quest'ultimo è vero, come posso forzare il unzip
comando a "ignorare" quella directory di primo livello?
Esempio:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Quello che sto ricevendo è /tmp/omeka/omeka-1.5.1/
:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Quello che voglio è dei file estratti /tmp/omeka/
, (un livello superiore e nessun numero di versione incluso nella struttura delle directory)
/tmp/omeka/(files)
So che posso usare l' -j
opzione per "percorsi spazzatura" ma voglio mantenere la struttura della sottodirectory, non solo la struttura della directory di livello superiore. Come posso fare questo?
/wordpress/
directory (nessun numero di versione) all'interno del file zip. Va bene così unzip
e poi, mv
ma non avere alcun controllo su questo e doverlo fare in due passaggi mi ha sempre innervosito un po '. Fortunatamente anche Wordpress ha un .tar.gz
sapore :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
i file, ma volevo vedere se c'era un modo per farlo immediatamente dal comando unzip