Uso il seguente comando per cancellare una directory, di file e directory di oltre 30 giorni, e spostarli in una directory di archivio che posso eliminare dopo alcune settimane se nessuno chiede i loro file indietro. La directory di destinazione ha sottodirectory per nome utente, così come la directory di archivio.
Questo è il comando che uso:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
Ho suggerito una versione modificata di questo per rispondere a una domanda su chiedere a Ubuntu, un altro utente ha modificato il codice per cambiare la fine della linea \;
in +
quanto è più veloce (e più corretto?). Vedere qui
Tuttavia, l'utilizzo +
in questo modo funziona se il -exec
comando si trova ls -lh
ma non nel comando effettivo che utilizzo. Se lo provo, visualizzo +
un messaggio di errore:
find: missing argument to '-exec'
Non capisco perché si comporti in questo modo o quale sia il comando corretto. Per favore, non solo pubblicare una correzione di comando, mi piacerebbe capire piuttosto che seguire un suggerimento alla cieca.
+
fornisce più argomenti allo stesso comando, ma mv
non ce la faccio !