EXPRESIONES REGULARES

 

Hay comandos como grep, sed, awk que aceptan lo que se conoce como Expresiones Regulares, que son una forma de describir cadenas de caracteres con caracteres variables (búsquedas y sustituciones complejas).

Existen metacaracteres, que son caracteres que en una expresión regular son interpretados por su significado especial, y no por los caracteres que normalmente representan. Para utilizar el carácter que representan habrá que anteponerles el carácter Back Slash (\). Entre estos caracteres tenemos:

>\ * ? | + ^ $ . ( ) [ ] { }

Para buscar una lista de caracteres se pueden expresar entre corchetes ([ ]), usando como separadores:

En este caso algunos metacaracteres pierden su valor y pasan a representar el propio carácter.

El caracter admiración (!) niega el patrón al que precede.

El acento circunflejo "ˆ" indica el principio de línea, mientras que el dolar "$" indica el final de línea.

Por ejemplo:

ls -l [A-Z]*
Muestra los archivos (y sus propiedades) cuya primera letra es mayúscula.
ls -l [!A-Z]*
Muestra los archivos (y sus propiedades) cuya primera letra no es mayúscula.
ls -l [a-z]*
Muestra los archivos (y sus propiedades) cuya primera letra es minúscula.
ls -l [a,e,i,o,u]*
Muestra los archivos que comienzan por vocal.
ls -l [!a,e,i,o,u]*
Muestra los archivos que no comienzan por vocal.
grep [0-9] archivo
Muestra las líneas de archivo que contienen algún número.
sed `1,$ s/[a-z]/[A-Z]/g` archivo
Cambia todas las minúsculasa mayúsculas de archivo.
grep ^[A-Z] archivo
Muestra las líneas que comienzan por mayúsculas en archivo.
grep [0-9]$ archivo
Muestra las líneas que finalizan con un número en archivo.