2014-10-06 18 views
6

Nella mia applicazione ios, ho bisogno di decomprimere un archivio che si trova in/var/mobile/Library/Preferences/xxx in, ad esempio,/var/mobile/Library/Preferences/tmp.Come decomprimere in una directory specifica senza ricreare tutto il percorso con script bash

Il mio problema è che quando lancio questo:

unzip /var/mobile/Library/Preferences/xxx/archive.zip -d /var/mobile/Library/Preferences/tmp/ 

nella cartella tmp, c'è tutto il percorso dell'archivio:/var/mobile/Library/Preferences/tmp/var/mobile/Library/Preferences/xxx/archive/...

Come posso fare per avere solo/var/mobile/Library/Preferences/tmp/archive/... e non tutto il percorso di archiviazione nella directory di destinazione?

Grazie in anticipo

+0

So che posso spostare la directory decompressa dopo il primo comando in un percorso meno lungo ma non vorrei avere tutto questo lungo percorso da manipolare ... – Synny

+0

Un'opzione un po 'rischiosa: 'ln -s/var/mobile/Libreria/Preferenze/tmp// var/mobile/Libreria/Preferenze/xxx/archivio; decomprimere /var/mobile/Library/Preferences/xxx/archive.zip -d/' – anishsane

risposta

7

prova l'opzione -j a unzip che appiattisce la struttura delle directory e scrive tutti i file nella directory corrente.

+2

Ho provato questo, ma il problema è che nel mio archive.zip ci sono diverse cartelle, voglio mantenere la struttura interna dell'archivio ma non il percorso dell'archivio – Synny