PDA

Visualizza la versione completa : Script per spostare file


andreadb89
19-03-2009, 09:55
Salve a tutti, avrei bisogno di un aiuto e ringrazio anticipatamente. Dovrei spostare file secondo la data di modifica.
Esempio: spostare tutti i file con la data di modifica 2008.

Grazie
Cordiali saluti

detroit
19-03-2009, 12:51
RICERCA=$(find /cartella -mtime 10 -print) ; mv $RICERCA /destinazione/

-mtime 10 sta per i file modificati 10 giorni fa ad esempio

Puoi dare il tutto da riga di comando direttamente oppure piazzi il tutto in uno script

#!/bin/bash

RICERCA=$(find /cartella -mtime 10 -print) ; mv $RICERCA /destinazione/

poi dai il permesso di esecuzione sullo script
chmod +x script ed è fatta.Se hai problemi o vuoi chiarimenti chiedi pure,dato che a te serve trovarli per anno di modifica,io ti ho dato l'input poi sta a te leggere il man find e implementare secondo le tue esigenze :ciauz:

andreadb89
19-03-2009, 18:11
Grazie, ma dovrei spostare un gruppo di file modificati in un intervallo di tempo.
esempio: spostare i file con data dal 01/01/08 al 31/12/08.
Ti ringrazio ancora.
Saluti :master:

detroit
19-03-2009, 18:30
studiati find, il forum può darti l'impulso poi sei tu a dover spremere le meningi :)

andreadb89
20-03-2009, 10:25
Grazieee... :ciauz:

Gloglotto
20-03-2009, 10:53
puoi anche usare awk per trovare tutti i file del 2008, cosi' ad esempio

ls -l | awk '{print $6}' | grep 2008

andreadb89
20-03-2009, 11:20
Grazie Mille.


awk '{print $6}'


non riesco a capire questo comando cosa fa?

detroit
20-03-2009, 11:28
Originariamente inviato da andreadb89
Grazie Mille.


awk '{print $6}'


non riesco a capire questo comando cosa fa?

awk lavora secondo un sistema di field e records, cioè campi e righe. $num corrisponde ad un campo.Cosi se hai un file di questo tipo

parola nome
parola nome
parola nome
parola nome
parola nome

per stampare solo il campo nome farai

awk '{print $2}' con $2 che equivale al secondo campo.

andreadb89
20-03-2009, 11:30
Capito..!!!Grazie per l'aiuto!!!

Loading