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. |