Newsgroup: it.comp.os.linux.iniziare
Titolo: archivio tar.bz2 -- estrazione singolo file

ciao al gruppo
cercando di aumentare la mia pratica con la shell, ho imparato che la 
sintassi
tar xjvfp archivio.tar.bz2 archivio/file
mi consente di estrarre un sigolo file dall'archivio. a condizione di 
conoscere l'esatta posizione del file all'interno dell'archivio, il quale 
puo' essere composto da innumerevoli directory annidate in molti gradi di 
profondita'.
conoscete per caso un sistema per estrarre un singolo file da un 
archivio .tar.bz2 conoscendo solo il nome di tale file? ignorando quindi 
la posizione all'interno dell'archivio?
Non solo: la sintassi da me riportata funziona correttamente, ma crea 
nell posizione corrente un directory chiamata
archivio
al cui interno c'e' il file estratto. il mio desiderio sarebbe avere il 
file SENZA conoscere la sua posizione all'interno dell'archivio 
(immaginate un archivio da 60 GB) e senza creare la directory genitore, 
oppure le directory da cui discende il file se piu' di una. generando 
quindi il file cercato nella stessa identica posizione ove viene lanciato 
il comando.
grazie.

 lanciato il comando.
stesso discorso, se che succederebbe nel caso di piu' files con lo stesso 
nome se non preservi l'albero delle directory ?
detto questo, supponiamo che tu abbia *un solo* file di nome file.ext 
all'interno dell'archivio, puoi fare così:
 
tar xjvfpO archivio.tar.bz2 `tar tzf archivio.tar.bz2 |grep file.ext` > 
file.ext
attenzione, se hai piu' file.ext nell'archivio, te li ritrovi tutti 
concatenati nell'unico file di output

 risposta � NO.
Da buon ignorante in amteria di tar non ricordo se esiste un
comando per stampare il contenuto dell'archivio senza
scompattarlo, in modo che l'output sia costituito dalla struttura
delle dir e subdir varie che l'archivio contiene.
tipo se l'archivio fosse costituito da questo albero:
archivio/
archivio/filex
archivio/filey
archivio/dira
archivio/dira/filey
archivio/dirb
archivio/dirb/filez
e avessimo un comando tar in grado di mostrare la struttura come
sopra sullo standard output...
b� si potrebbe predisporre uno script che nel caso in cui il
pattern di ricerca (nome del file) si ripetesse pi� di una volta,
venisse allora richiesta la scelta dell'utente... qualcosa come:
=============================================================
esistono 2 ricorrenze per il pattern "file-pippo"
1- archivio/dira/file-pippo
2- archivio/dirb/subdir-topolinia/file-pippo
premi il numero corrispondente al file che vuoi scompattare...
==============================================================
In tal modo se nell'albero di directories ci fosse pi� di un
"file-pippo" si demanderebbe la scelta all'utente che potrebbe
scompattare quello che vuole di preciso a seconda della locazione
nell'archivio... magari ci sono subdir con nomi di significato
intitivo, non so.

 delle dir e subdir varie che l'archivio contiene.
non viene eseguito dall'opzione -t ?? dal man di tar
 
 -t, --list
list the contents of an archive
 

 delle dir e subdir varie che l'archivio contiene.
Da buon ignorante avresti potuto leggere l'esempio di redwiz 
e controllare il manuale di tar. L'opzione di cui farnetichi è -t 

 
errata, nel tar interno ho messo una z ma è evidentemente una j

 e controllare il manuale di tar. L'opzione di cui farnetichi � -t 
L'intento non era quello di mostrare buona memoria o quello di
essere troppo preciso sugli strumenti pratici (ovvero opzioni di
tar) con cui portare a termine i vari pezzi dello script.
La mia voleva essere solo un'idea su un tot di passaggi per
superare l'ostacolo dei files omonimi all'interno
dell'archivio... introducendo uno step interattivo.
L'OP sar� sicuramente in grado di tradurre eventualmente tutte le
mie farneticazioni in bash...
Quindi, avrei potuto anche leggere il manuale, ma non era
decisamente il caso, mi importava che passasse l'idea, lo script
d'altra parte non lo devo fare mica io ma "elena".
Saluti.  :-)