Grep es uno de los comandos mas útiles que conozco y al menos al que seguramente tu le podrás sacar mucho provecho. A mi como programador me sirve mucho. También lo uso cuando voy a editar themes de wordpress. El uso mas básico 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 así:
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
Por supuesto puedes usar toda una combinación de esas opciones. Mira estos 10 ejemplos de uso de grep.
Espero que les sea util
muy bueno! Es uno de los comandos mas poderosos de los UNIX que normalmente estamos subestimando. Gracias por la data
gracias a ti por comentar :)
[…] Usar grep para buscar texto dentro de archivos […]
Si me ayudaste mucho. Pero tengo duda en algo ¿si quiero en una misma linea buscar dos patrones distintos y luego poner otro patron del q se deben buscar las no coincidencias. Me explico serian tres patrones distintos pero del ultimo se buscan las no coincidenicas pero todo va en unas misma linea de comando, cómo lo hago? Millon Gracias si me ayudan.
Muy dificil para mi…me mareo de solo pensar lo que me pides :-?
Lo que no entiendo es donde pongo el comando ‘grep’. Yo estoy utilizando el HTMLKit para mis páginas web y FilleZilla para FTP y quiero buscar una palabra en todas las paginas, …y son miles!
como hago?
Graciass
Aunque es seguro que ya encontraste respuesta en 3 años, el articulo no describe donde colocar el comando así que lo escribo como por si alguien más se pregunta lo mismo: En la Terminal. Si estas en Ubuntu alt+f2 y se coloca gnome-terminal. O se puede encontrar en Accesorios. Recomiendo utilizar Terminator una maravilla…
Mañana dia 8 de febrero tengo un examen y esto me caia jeje PORFIN LO COMPRENDO! Dios!
GRACIAS ;)
No problem :)
[…] grep1 […]
[…] un tiempo les hice un post de como buscar un texto dentro de un archivo usado grep pero ahora me encontre en el blog javarevisted varios usos practicos mas que le podemos […]
Me gustaria agregar un ejemplo que ademas de hacer una busqueda de palabras en archivo las podemos numerar:
grep -i -r -H -e «word1» -e «word2» File.log | wc -l
Si se fijan en este ejemplo con no hacemos distincion entre mayusculas y minusculas, ademas al finl el pipe y wc -l indican que se numeren cada una de las lineas que coincidan con la busqueda.
espectacular
buenas! necesito saber mostrar las lineas que contengan un par de letras ‘e’ .. me seria de gran ayuda. gracias
dos 2 seguidas? usa el comando de arriba, 2 e en cualquier posicion? no se como se haria
Gracias!
Muy bien, gracias!
La raja! Me salvaste el día!
Gracias
esto está muy bien pero necesito la ruta de la carpeta donde están los archivos en los que buscar el texto…
esto está muy bien pero necesito la ruta de la carpeta donde están los archivos en los que buscar el texto…
Muy bueno, muchas gracias, me va a ser muy util para hacer unas modificaciones en mi tema de wordpress, mil gracias
Gracias, un comando demasiado útil… y pensar que este tipo de procesos en winbug necesita tantas cosas. Poder GNU/Linux.
Muchas gracias. También yo lo uso con bastante frecuencia.
como busco la dos ultimas lineas de un archivo?
una rpegunta, como puedo buscar cadenas de caracteres de 4 cifras?
como podria buscar cadenas de numeros que tengan 4 cifras?
cat archivo | grep -x ‘.\{4\}’