grep

Busca en la entrada, líneas que concuerden con el patrón dado. Cualquier meta-carácter con un significado especial debe ser protegido precediéndolo con una barra inclinada inversa (\ ). Algunos patrones de grep se encierran entre '..' (apóstrofos) para indicarle que no es un metacarácter del sehll. También existe en su versión zgrep para buscar en archivos comprimidos.

grep [opciones] 'patrón' archivos

grep "ejemplo" * listara las lineas que concuerden con la cadena ejemplo de "todos" los archivos del directorio actual.

grep -i hola pp.txt considera idénticas las mayúsculas y minúscula en la cadena de búsqueda hola. (hola=HOLA=Hola=etc.).

grep -ri "hola" ./ busca en los archivos del directorio actual y los subdirectorios la palabra hola.

grep -v hola pp.txt lista las líneas que no contengan la cadena hola del archivo pp.txt

grep -n hola pp.txt las líneas concordantes con la cadena hola del archivo pp.txt se mostrarán acompañadas del número de línea.

grep -w sobre pp.txt listara solamente aquellas líneas que contienen concordancias que forman palabras completas.

grep -A 2 hola pp.txt muestra 2 líneas de contexto después de las que concuerden con el patrón hola.

grep -B 2 hola pp.txt muestra 2 líneas de contexto antes de las que concuerden con el patrón hola.

grep -f patron.txt pp.txt obtiene el patrón de fichero patron.txt y listara líneas concordantes del archivo pp.txt

grep -s "ejemplo" * suprime los mensajes de error sobre ficheros que no existen o no se pueden leer.

grep [123] pp.txt listara las lineas que contengan los números 1, 2 o 3

grep '^L' pp.txt lista las lineas de pp.txt que comiencen la línea con el carácter L, el carácter ^ denota inicio de cadena.

grep 'h$' pp.txt lista las líneas de pp.txt que terminen en h, el carácter $ denota fin de cadena.

grep '\<pe' pp.txt muestra todas las líneas de pp.txt que contengan palabras que comiencen con la cadena pe.

grep '\>pe' pp.txt muestra todas las líneas de pp.txt que contengan palabras que finalicen con la cadena pe.

grep 'xy*' pp busca en pp una x seguida por la secuencia más larga de y.

grep '^[^#]' pp.txt muestra pp.txt, ocultando las líneas que empiezan por # y las líneas vaciás.

grep -o patron archivo muestra solo la parte de la linea que coincide con el patrón.

grep --color=always '\bing[[:space:]]' pp.txt | less -R la palabra ing seguida de un espacio sera coloriada y esta redirigida al comando less sin perder el color.

grep -Eio '([[:alnum:]_.-]+@[[:alnum:]_.-]+?\.[[:alpha:].]{2,6})' archivo.txt muestra solo las direcciones de e-mail (no todo la linea que la contiene), del archivo.txt.

Leer más sobre: 

¿Te resulto útil?: 

5

Comentarios

Creo que hay una errata,

Creo que hay una errata, donde dice:

grep '$h' pp.txt lista las líneas de pp.txt que terminen en h, el carácter $ denota fin de cadena.

debe decir

grep 'h$' pp.txt lista las líneas de pp.txt que terminen en h, el carácter $ denota fin de cadena.

Es lógico que el carácter de fin de línea vaya después del patrón. Lo he comprobado y así es con mi Fedora.

correcto

correcto

Gracias Juan, ya esta

Gracias Juan, ya esta corregido.

cuando tengo varias

cuando tengo varias coincidencias de una palabra si quiero que muestre la linea n donde haya encontrado dicha coincidencia. como le hago??

Envíanos tús preguntas, comentarios o sugerencias

 

Solicita Asistencia

Llámenos al:+549 11 (15)32788353

Envíenos un e-mail: consultas@ ---Para enviar el SPAM--- francisconi.org

Skype Status for francisconi.hugo.adrian
 

Suscríbete

Suscríbete y recibe las últimas actualizaciones, noticias y más ...