El comando grep tiene opciones, un patrón que cumplir y archivos en los que buscar
grep [opciones] patrón [archivos]
opciones
-c | Muestra el recuento de las líneas que corresponden | |
-E | Muestra las expresiones extendidas | |
-h | Elimina el prefijo normal de cada línea de salida junto con el nombre del archivo en el que se encontró | |
-i | Lo ignora | |
-v | Invierte el patrón para seleccionar las líneas que no se corresponden |
expresiones regulares
^ | Colocarse al inicio de una línea | |
$ | Colocarse al final de una línea | |
. | Cualquier caracter único | |
[ ] | Los corchetes contienen varios caracteres, cada uno de los cuales puede corresponder, se trata de A-Z 0-7 o una selección invertida colocando el caracter ^ al principio |
Para usar estos caracteres como caracteres literales hay que incluir \ delante
patrones de correspondencia
[:alnum:] | Caracteres alfanuméricos | |
[:alpha:] | Letras | |
[:ascii:] | Caracteres ASCII | |
[:blank:] | Espacios o tabuladores | |
[:cntrl:] | Caracteres de control ASCII | |
[:digit:] | Dígitos | |
[:graph:] | Caracteres sin espacios y que no son de control | |
[:lower:] | Letras minúsculas | |
[:print:] | Caracteres imprimibles | |
[:punct:] | Caracteres de puntuación | |
[:space:] | Caracteres en blanco, incluídos tabuladores verticales | |
[:upper:] | Letras mayúsculas | |
[:xdigit:] | Dígitos hexadecimales |
Si especificamos la opción -E para la correspondencia extendida, la expresión puede ir seguida de otros caracteres que controlan la finalización de la correspondencia. También hace falta "escaparlos" con \
caracteres
? | La correspondencia es opcional pero debe cumplirse al menos una vez | |
* | Debe corresponderse cero o más veces | |
+ | Debe corresponderse una o más veces | |
{n} | Debe corresponderse n veces | |
{n,} | Debe corresponderse n o más veces | |
{n,m} | Debe corresponderse entre n y m veces incluídas ambas |
ejemplos
Busca líneas que acaben con la letra e
grep e$ file.txt
Busca líneas que contengan palabras que acaban con la letra a grep a[[:blank:]] file.txt
Busca líneas que contengan palabras de tres letras que empiezan por Th grep Th.[[:space:]] file.txt
Busca palabras en minúscula que tengan exactamente diez caracteres grep -E [a-z]\{10\} file.txt
No hay comentarios:
Publicar un comentario