EXPRESIONES REGULARES

 

En algunos comandos como grep, sed, awk se aceptan lo que se conoce como Expresiones Regulares, que son una forma de describir cadenas de caracteres, y que sirven para buscar o tratar patrones 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 un rango de caracteres se pueden expresar entre corchetes ([ ]), usando comas (,), para expresar listas de valores, o guiones (-) ,para expresar rangos de valores, 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.

Por ejemplo:

ls -l [A-Z]*
Mostrará todos los archivos (y sus propiedades) cuya primera letra sea mayúscula.
ls -l [!A-Z]*
Mostrará todos los archivos (y sus propiedades) cuya primera letra sea no mayúscula.
ls -l [a-z]*
Mostrará todos los archivos (y sus propiedades) cuya primera letra sea minúscula.
ls -l [a,e,i,o,u]*
Mostrará todos los archivos que comiencenpor vocal.
ls -l [!a,e,i,o,u]
Mostrará todos los archivos que no comiencenpor vocal.
grep [0-9] archivo
Muestra todas las líneas de archivoque contengan algún número.
sed `1,$ s/[a-z]/[A-Z]/g` archivo
Cambia todas las minúsculasa mayúsculas de archivo.