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