LinuxParty
Bueno, hay veces, que necesitamos encontrar el fichero que contiene una palabra, y no nos acordamos del fichero, (evidentemente, si de la palabra), pues por esa palabra podemos saber a que fichero pertenece.
Esto es especialmente útil, si programamos, y nos acordamos que tenemos, por ejemplo un fichero include, que se llama de tal manera, y lo queremos buscar entre todos los ficheros del programa, a ver donde está...
Bueno, sin más dilaciones aquí unas breves explicaciones:
Grep es uno de los camandos mas utiles que conozco. Al menos a mi como programador me sirve mucho. Tambien lo uso cuando voy a editar themes de wordpress. El uso mas basico que se le puede dar es buscar texto dentro de uno o mas archivos. Ej: quiero buscar la palabra “perro” dentro de todos los archivos txt que tengo en un directorio. Haria algo asi:
grep “perro” /home/miusuario/documentos/*.txt
Pero por lo general cuando lo uso me interesa mas hacer busquedas recursivas. O sea no solo buscar en ese directorio sino en todos los directorios dentro de un directorio. Ademas no busco solo en archivos txt sino que por le general me interesa la busqueda en todo tipo de archivos. Entonces haria algo asi:
grep -r “perro” /home/miusuario/documentos/
Otra opcion es buscar varias cadenas. Ej: quiero saber en donde estan las lineas que dicen “perro” y “gato”, seria asi:
grep -r -e “perro” -e “gato” /home/miusuario/documentos/
Algunas otras opciones interesantes son:
-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.
-e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.
-r busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v nos muestra las líneas que no coinciden con el patrón buscado.
-i ignora la distinción entre mayúsculas y minúsculas.
-n Numera las líneas en la salida.
-E nos permite usar expresiones regulares. Equivalente a usar egrep.
-o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.
-f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.
-H nos imprime el nombre del archivo con cada coincidencia.
-w fuerza la busqueda a coincidir con la palabra exacta
Espero que les sea util
Si lo que quieres en buscar algo, en un tipo de ficheros en concreto (xml, html, ini, etc), entonces te recomendamos este otro artículo...
buscar desde consola linux con find el contenido de un fichero
Si te interesan conocer las Expresiones Regulares en Linux, mira nuestro mini-tutorial.
-
Linux
- Cambiar la Hora y la Fecha al sistema Linux
- Montar un directorio remoto, vía NFS, en Linux
- Predicciones de Linux para 2025
- Elementary OS 8: una distribución de Linux para usuarios de Windows y macOS
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- Mis predicciones sobre Linux para 2025: será un buen año
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
Comentarios
A propósito, también funciona esto (publicado también en linuxparty):
******www.linuxparty.es/index.php/7297-buscar-desde-consola-linux-con-find-el-contenido-de-un-fichero