find . -exec grep “www.athabasca” ‘{}’ \; -print
Busca la cadena “www.athabasca” dentro del contenido de los archivos del directorio actual y los imprime
find . -name "rc.conf" -exec chmod o+r '{}' \;
Le cambia el modo a o+r a los archivos con nombre rc.conf en el directorio actual
find . -perm -g+w,u+w ! -perm -o+w
Busca los archivos que son escribibles por el propietario o su grupo, pero no el resto
grep 'string' *.txt
Busca la cadena "string" en todos los archivos .txt
grep 'main(' *.c
Busca la cadena "main(" enn todos los archivos .c
grep -i 'ultra' *.conf
Busca la cadena ultra (sin tener en cuenta mayusculas/minúsculas) en los ficheros .conf
grep -iR 'ultra' *.conf
Busca la cadena ultra (sin tener en cuenta mayusculas/minúsculas) en los ficheros .conf en el directorio actual y subdirectorios del mismo
grep --color=auto -iR 'getChar();' *.c
Resalta los resultados para ver mejor el texto
grep --color=auto -iRnH 'getChar();' *.c
Muestra el nombre de archivo y número de línea donde se encontró la cadena
find . -name "*.c" -print | xargs grep "main("
Busca en tódos los ficheros .c la cadena "main)" Queremos encontrar todos los ficheros con extensión .conf dentro de /etc:
find /etc -name '*.conf'
Lo cierto es que este tipo de búsquedas pueden resultar demasiado grandes, y
listar muchísimos resultados, para ello podemos añadir criterios y acotar los
resultados. Si por ejemplo quisiéramos ver los logs ubicados dentro de /usr/local cuyo tamaño supere los 100Mb:
find /usr/local/ -name '*log' -a -size +100M
Y si quisiéramos saber que ficheros de el directorio /var/log/ cuya extensión
sea .bak no han sido modificados en 15 días:
find /var/log -name '*.bak' -mtime +15
Si no quisiéramos esos ficheros, solamente tenemos que borrarlos:
find /var/log -name '*.bak' -mtime +15 -exec rm -f {} \;