Per trovare i file compresi tra due date usare il comando find con la seguente sintassi: find <path_to_search> -type f -newermt “2024-06-01” ! -newermt “2024-06-30”
Tag:find
Cercare e rimuovere file
Nel caso in cui si debbano cancellare dei file contenuti in cartelle in base ad un pattern usare il seguente comando: find . -type f -name “log20230*.txt” -print0 | xargs -0 rm
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
Trovare file di una data dimensione
Esistono due metodi: find <path> -type f -size <size> ls -l <path> | awk ‘{if ($5 == <size>) print $9}’
Modificare permessi a file o directory
Modificare file: find . -type f -exec chmod 644 {} \; Modificare directory: find . -type f -exec chmod 644 {} \;
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
Cancellare file o directory vuoti
Per cancellare directory vuote usare il comando: find /path/to/dir -empty -type d -delete Per cancellare file vuoti usare il comando: find /path/to/dir -empty -type f -delete
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’ “{}” \;