Pagina 1 di 1

copia file

Inviato: lun 14 nov 2005, 12:13
da op15l
io voglio copiare tutti i file contenuti in una directory
tranne uno o due, sapete come fare?

ciao
grazie

Inviato: lun 14 nov 2005, 12:21
da Firetux
così al volo mi vengono in mente 2 soluzioni visto che nel man cp non trovo nessuna opzione:
1) potresti copiare tutto e poi cancellare i 2 file che non vuoi nella directory di destinazione
2) fai un script in cui fai un ciclo for e copi solo se il nome del file è diverso da quello che vuoi escludere
..se mi viene in mente una soluzione più veloce la posto

Inviato: lun 14 nov 2005, 12:40
da gallows

Codice: Seleziona tutto

$ tar --exclude=$FILE -cO *  | tar x -C $DDIR
Dove $FILE è il file da escludere e $DDIR è la directory di destinazione.
man tar per i dubbi.

Inviato: lun 14 nov 2005, 12:48
da strummer
prova con:

cp `ls | grep -v nome_primo_file_da_escludere | grep -v nome_secondo_file_da_escludere` tua_dir/

praticamente
copia il risultato di ls | grep -v
grep -v e come fare il grep all'incontrario, seleziona tutto tranne il file che segue il comando grep
ciao

Inviato: lun 14 nov 2005, 12:54
da op15l
grazieeeeeee1!!!!!!!!

Inviato: lun 14 nov 2005, 13:14
da Firetux
belle soluzioni! complimenti! :D

Inviato: lun 14 nov 2005, 13:40
da op15l
ho un'altro problema.

siccome che in questa directory voglio copiare anche i file nascosti ho pensato di mettere
ls -a
ma purtroppo cosi' mi copia tutto.
(penso perche in cima alla lista c'e' . e ..)
avete idee?
ciao

Inviato: lun 14 nov 2005, 13:42
da gallows
Per escludere .. e . devi dare ls -A

Inviato: lun 14 nov 2005, 13:42
da op15l
ok grazie