Cancellare file con eccezioni

Archiviato in: shell — olaolaonline 30 gennaio 2009 @ 12:13

Quando dobbiamo cancellare una quantià  notevole di file, anche con estensioni diverse, potrebbe essere comodo escludere in modo semplice dalla lista di file da cancellare alcune determinate estensioni. Purtroppo il comando rm non possiede una opzione exclude, ma possiamo ovviare a questo con un comando del tipo

rm $(ls | grep -v .ext1$ | grep -v .ext2$)

In questo modo non facciamo altro che creare al volo la lista di file da cancellare, escludendo tramite il comando grep e la sua opzione di negazione -v i file il cui nome finisce con .ext1 o con .ext2. Il simbolo $ permette appunto di specificare che i nomi dei file devono finire con la stringa specificata, in questo caso l’estensione dei file. La lista di estensioni da escludere può essere allungata e personalizzata a piacimento seguendo le regole delle regular expressions.