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