Trovare file con nome differente da pattern

Per trovare tutti i file in una data directory con nome differente da un certo pattern usare il seguente comando: find . -not -name *.txt L’esempio cercherà nella directory corrente, ed in tutte le sottodirectory, tutti i file che non terminano con *.txt

Archiviare file con find

Per archiviare file, ad esempio file di log, si può usare il comando find; ad esempio per storicizzare tutti i file più vecchi di n giorni si può usare la seguente sintassi: find . -type f -ctime +<n> -exec tar –remove-files -rf <nome_archivio>.tar {} \; && zip <nome_archivio>.tar.zip <nome_archivio>.tar && rm -f <nome_archivio>.tar Nota dalla …
Continua a leggere Archiviare file con find

Trovare file creati prima di n giorni

Per trovare tutti i file creati prima di un certo numero di giorni usare il comando: find . -type f -ctime <n giorni> -ls More than 30 days ago: -ctime +30 Less than 30 days ago: -ctime -30 Exactly 30 days ago: -ctime 30 Nota dalla pagina man di find: “n*24 hours ago. When find figures out how …
Continua a leggere Trovare file creati prima di n giorni

Trovare file non di proprietà di un utente

Se si ha la necessità di trovare files o directory non di proprietà di un utente o di un gruppo usare i seguenti comandi: find <path> ! -user <username> find <path> ! -user <username> -type d find <path> ! -group <groupname> find <path> ! -group < groupname > -type d

Pulire nomi file

Per eliminare i caratteri speciali dai nomi dei file usare l’espressione regolare: s/[^A-Za-z0-9._-]/_/g Può essere usata con VI oppure con sed: sed -e ‘s/[^A-Za-z0-9._-]/_/g’ oppure direttamente con find: find . -exec rename ‘s/[^A-Za-z0-9._-]/_/g’ “{}” \;