Newsgroup: it.comp.os.linux.ubuntu
Titolo: scriptino per cancellare file....

Salve,
ho questo problema:
dovrei cancellare una miriade di file (sono delle mail) nella cartella 
/var/mail/'centinaiadidirectoryesottodirectory' del mio server di posta 
a partire dalla data.
Nel senso che dovrei cancellare tutte le mail antecedenti una certa 
data, sto cercando di farlo a mano ma ï¿œ un lavoraccio anche se i file si 
chiamano ad es 1243422185....... quindi hanno un timestamp come nome 
perï¿œ effettivamente le directory e sotto directory sono tantissime.
Potrei fare uno scriptino che data una data limite in formato timestamp 
mi cancella tutti i file a partire da una determinata cartella?
 
Grazie
Max


find <dir> -type f | perl -ne 'next if $_ > $ARGV[0]; system("echo rm 
$_");' <timestamp>
 
Se funziona togliere echo
 

 $_");' <timestamp>
 
 
Ciao,
intanto grazie per la risposta, ho provato cosï¿œ:
 
find /var/mail/prova -type f | perl -ne 'next if $_ > $ARGV[0]; 
system("echo rm $_");' 1343891650
 
ma ottengo questo errore:
Can't open 1343891650: No such file or directory.
 
Ciao
Max


Scusami, non l' avevo provato
 
Questo ï¿œ testato:
  find /var/mail/prova -type f | perl -MFile::Basename -e 
'while(<STDIN>) { chop; next if basename($_) > $ARGV[0]; system("echo rm 
$_");}' 1343891650
 
 
 

 { chop; next if basename($_) > $ARGV[0]; system("echo rm $_");}' 1343891650
 
 
Ciao,
grazie tante sembrerebbe funzionare ma mi escono anche alcuni di questi 
errori:
 
rm /var/mail/prova/.Posta eliminata/maildirfolder
rm /var/mail/prova/.Posta eliminata/courierimapacl
rm /var/mail/prova/courierpop3dsizelist
rm /var/mail/prova/.Bozze/courierimapuiddb
rm /var/mail/prova/.Bozze/maildirfolder
rm /var/mail/prova/.Bozze/courierimapacl
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
 
A cosa sono dovuti?
 
Max


Suppongo a dei file che nel nome non sono numerici
 
Puoi aggiungere un ulteriore filtro subito dopo il chomp;
next unless basename($_)=~/^\d+$/;
questo filtro scarta i file che nel loro nome non contiene tutte cifre
 
 
 
 
 


 
si i file dele email non sono solo numerici, iniziano con il timestamp 
ma poi hanno anche lettere.
 
comunque penso che lo script farebbe danni perche andrebbe a cancellare 
anche file che non centrano nulla vedi qui di seguito parte del risultato:
 
rm /var/mail/prova/.Posta 
inviata/cur/1270107704.M149638P10853V000000000000FE00I009EC060_0.server,S=3401:2,S
rm /var/mail/prova/.Posta 
inviata/cur/1280225347.M531163P5343V000000000000FE00I0098021C_9.server,S=2732881:2,S
rm /var/mail/prova/.Posta 
inviata/cur/1252495928.M665397P8603V000000000000FE00I00980599_0.server,S=37155:2,S
rm /var/mail/prova/.Posta 
inviata/cur/1263221534.M112251P5428V000000000000FE00I009EC0F6_3.server,S=3741969:2,RS
rm /var/mail/prova/.Posta inviata/maildirfolder
rm /var/mail/prova/.Posta inviata/courierimapacl
rm /var/mail/prova/.estinzioni banca.rimborsi acconti/courierimapuiddb
rm /var/mail/prova/.estinzioni banca.rimborsi acconti/maildirfolder
rm /var/mail/prova/.estinzioni banca.rimborsi acconti/courierimapacl
rm /var/mail/prova/.Posta eliminata/courierimapuiddb
rm /var/mail/prova/.Posta eliminata/maildirfolder
rm /var/mail/prova/.Posta eliminata/courierimapacl
rm /var/mail/prova/courierpop3dsizelist
rm /var/mail/prova/.Bozze/courierimapuiddb
rm /var/mail/prova/.Bozze/maildirfolder
rm /var/mail/prova/.Bozze/courierimapacl
rm /var/mail/prova/.Bozze.mail consulenti/courierimapuiddb
rm /var/mail/prova/.Bozze.mail consulenti/maildirfolder
rm /var/mail/prova/.Bozze.mail consulenti/courierimapacl
rm /var/mail/prova/.PERDITA SU CREDITI/courierimapuiddb
rm /var/mail/prova/.PERDITA SU CREDITI/maildirfolder
rm /var/mail/prova/.PERDITA SU CREDITI/courierimapacl
rm /var/mail/prova/.estinzioni banca/courierimapuiddb
rm /var/mail/prova/.estinzioni 
banca/cur/1251359451.M166882P32365V000000000000FE00I00980A09_8.server,S=148329:2,S
rm /var/mail/prova/.estinzioni 
banca/cur/1252061757.M117826P16492V000000000000FE00I0098088C_39.server,S=234225:2,S
rm /var/mail/prova/.estinzioni 
banca/cur/1252061749.M477567P16492V000000000000FE00I0098082B_33.server,S=233530:2,S
rm /var/mail/prova/.estinzioni 
banca/cur/1252061749.M412591P16492V000000000000FE00I0098081E_31.server,S=25873:2,S
 
 
Max
 


Se aggiungi il filtro che ti ho proposto quei file non vengono considerati