Newsgroup: it.comp.os.linux.iniziare
Titolo: tar

Cia a tutti ,
vorrei in una sola riga di comando trovare tutti i file .c dalla mia HOME e 
metterli tutti in un file tar. Secondo voi questa cosa funzione?
find $HOME -name "*.c" -exec tar -c -f --append prova.tar {} \;
a me da dei messaggi strani! 

 find $HOME -name "*.c" -exec tar -c -f --append prova.tar {} \;
tar -cvf prova.tar *.c
non ti funziona ??
ciao ..
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}


Io devo trovare tutti i .c predenti nella mia home (comprese le 
sottodirectory) .....
come hai fatto tu non prendo solo quelli della directory corrente?
GRazie

 GRazie



ho provato find $HOME -name "*.c" -exec tar cvf  prova.tar {} \;
ma crea il file prova.tar aggiungendo SOLO l'ultimo file trovato dal find 
.....
grazie 

 find $HOME -name *.c -print -exec tar -cvf FilesC.tar \{\} \;
Cosi` ti fa il tar file per file, non un tar per tutti i files.
Ciao,
-- 
        Roberto Divia`              Love at first sight is one of the greatest
Dep:PH Bat:53 Mailbox:C02110      labour-saving devices the world has ever seen
Route de Meyrin 385               ---------------------------------------------
Case Postale                                Phone:  
+41-22-767-4994
CH-1211 Geneve 23 CERN                      Fax:    
+41-22-767-9585
Switzerland                                 E-Mail: 
Robert...@cern.ch

 come hai fatto tu non prendo solo quelli della directory corrente?
find $HOME -name \*.c -print | tar cfT prova.tar -



Ho fatto la stessa cosa io ......... ma aggiunge solo l'ultimo file che 
restituisce il find............ 


Scusa ...
il find trovera' piu' file .c .............. tutti devono andare nello 
stesso tar... 

 find $HOME -name \*.c -print | tar cfT prova.tar -
Mi dice:
find $HOME -name *.c -print | tar cfT prova.tar
tar: Old option `T' requires an argument.
Try `tar --help' or `tar --usage' for more information.


No: li aggiunge tutti. Ma ad ogni file "cancella" il precedente (ri-crea
il tar da zero) e alla fine ti ritrovi con l'ultimo della lista.



come si effettua un'inserimento? Diciamo un update del file tar?


Il tuo tar e` meno permissivo del mio (io sono della vecchia guardia
e uso la vecchia sintassi per default).
find $HOME -name \*.c -print | tar -c -f prova.tar -T -


 ha scritto nel messaggio 
news:e0gekt$1e7$1...@sunnews.cern.ch...

funziona....
con queste modifhche
find $HOME -name *.c -print | tar -c -f prova.tar -T
scusa ma l'opzione T che cosa fa?!?!?!?

 ha scritto nel messaggio 
news:e0gekt$1e7$1...@sunnews.cern.ch...

Risposta trovata: -T, --files-from : get names to extract or create from 
file FILE
scusa ma l'ultimo "-" a cosa serve?

tar -cvfr prova.tar `find ~/ -name '*.c'`
-- 
Nicola
'fattori arcani' (
http://fattori-arcani.spaziodigitale.net
)
------------------------------------------------------------------------
Nicola's Profile: 
http://hostingforum.it/member.php?userid=20
View this thread: 
http://hostingforum.it/showthread.php?t=5419

 scusa ma l'ultimo "-" a cosa serve?
-T (o --files-from) dice a tar di prendere la lista dei files da un file.
Ora, "-" indica il file di stdin. Quindi tar prende l'input da un pipe
anonimo su cui scrive find.
La stessa cosa si poteva fare con
find ... >/tmp.prova.txt
tar -c -f prova.tar -T /tmp/prova.txt
Unix 101


 
Anche questo:
   $ find $HOME -name *.c | xargs tar -cf prova.tar
Ciao, ClaudioT.