Ciao
vorrei qualche consiglio su come muovermi per uno script Bash che non dovrebbe essere ne lungo e neppure complesso.
Però vorrei che lavorasse su molti file...
Deve cercare file di una data estensione e con un tempo di ultimo accesso superiore a tot giorni in una directory fissata, al più ci vorrebbe una ricerca ricorsiva ma non è importante, specie se diventa una elaborazione pesante.
Io ho pensato di usare
find, ma una sintassi ingenua come
find qualcosa/*.gif -atime +30 -delete
su 10
4 nomi di file mi segnala che il numero degli argomenti è eccessivo.
Immagino ci sia differenza fra "cerca i file con un nome così e dopo che li hai trovati cancellali" e "cerca i file con un nome così cancellando quando ne trovi qualcuno". Ovvero l'espressione
-delete è molto diversa da
-exec rm, no? Se cio è corretto, su grandi elenchi un processo figlio
rm potrebbe essere determinante per la riuscita.
Siccome pensavo anche che per lavorare su un numero di file dell'ordine di 10
6 l'unica potrebbe essere creare un txt di appoggio, sono un po' indeciso. Non posso fare molte prove su queste "distanze" e non vorrei imparare esclusivamente da dei tentativi rozzi. Non saprei ancora come far cancellare da un elenco su file.
Pensavo anche che, poiché i file hanno nomi casuali, avrei potuto abbattere la lunghezza dell'elenco di qualche x100 con dei cicli annidati, del tipo:
for indice in [elenco caratteri]
Però immagino che ci sia anche un modo per non dovere elencare tassonomicamente l'escursione dell'indice. Ne avete idea?
Cmq a prescindere dalla sintassi conveniente, credo che di fondo sia necessario scrivere man mano un elenco parziale dei risultati della ricerca, poi cancellare ecc..
Spero che abbiate qualche suggerimento. Indicativamente come si possono cancellare dei file il cui percorso e scritto in un file?
"lo si legge per righe, si testa se la riga è un percorso e poi si cancella il file con quel percorso" ehm ...

ps. almeno per ora dei soft link non me frega
