Title: Alcuni comandi utili utilizzando find
Author: Sandro Tosi
Last modified: 2007-01-07
Di base prenderemo la directory corrente ("."); se e` necessario
utilizzare i comandi in un altro path, basta sostituirlo a "." subito
dopo il comando find.
* trovare un file che contiene "string" nel nome
$ find . -name "*string*"
* trovare un file che contiene "string" senza tener conto del
character-case:
$ find . -iname "*string*"
* trovare tutti i file / le directory
$ find . -type f
$ find . -type d
* eseguire un comando su tutti i file (anche nelle subdir):
$ find . -type f -exec <command> {} \;
Le parentesi graffe vengono sostituite col nome del file trovato. E`
importante notare "\;" che deve essere presente in quanto serve per
terminare il comando <command> (lo "\" serve per non far
interpretare il ";" dalla shell corrente).
* un modo alternativo e`:
$ find . -type f | xargs <command>
* eseguire un comando su tutti i file ed un altro su tutte le
directory:
$ find . \( -type f -a -exec echo chmod 665 {} \; \) -o \
\( -type d -a -exec echo chmod 771 {} \; \)
* trovare file e directory creati da piu` di 90 giorni:
$ find . -ctime +90
* trovare file e directory creati da meno di 90 giorni:
$ find . -ctime -90
* trovare file che sono stati modificati piu` di 15 giorni fa:
$ find . -mtime +15 -daystart
* trovare file piu` grandi di 100k:
$ find . -size +100k
* limitare la ricerca solo alla directory corrente:
$ find . -maxdepth 1
* trovare file e directory vuoti:
$ find . -empty
$ find . -type d -empty # per le dir soltanto
$ find . -type f -empty # per i file soltanto |