Antes de pasar al archivo globbing, comprendamos qué son los patrones comodín, estos son los patrones que contienen strings como ‘?’, ‘*’
El archivo globbing es la operación que reconoce estos patrones y hace el trabajo de expansión de la ruta del archivo.
Vea el siguiente ejemplo para una comprensión clara,
Si observa la imagen de arriba, creé varios directorios cuyos caracteres iniciales son HOLA y hola, y luego traté de eliminar estos directorios.
Cuando usé rm -rf hello* , eliminó los directorios hello1, hello2, hello3, el símbolo ‘*’ usado después de ‘hello’ reconoce los primeros caracteres como ‘hello’ y luego cero o más apariciones de cualquier otro carácter.
Ejemplos usando otros caracteres comodín:
1) asterisco (*)
* se usa para hacer coincidir cualquier número de caracteres (cero o más), para comprender más, puede consultar el ejemplo anterior.
2) signo de interrogación (?)
? se utiliza para hacer coincidir exactamente un carácter.
En la imagen de arriba, puedes observar que ‘?’ puede coincidir exactamente con un carácter y se usa al final de la línea.
Así que usando ‘¿hola?’ coincidirá con todos los archivos o directorios cuyos caracteres iniciales sean ‘hola’ y reconocerá un carácter más.
3) Corchetes [] Los
corchetes se utilizan para hacer coincidir los caracteres dentro de [] , consulte la imagen a continuación,
[] se puede usar para hacer coincidir los caracteres exactos o también puede especificar un rango, como en el ejemplo anterior, al usar ‘hola [1-5]’ se mostrarán todos los archivos y directorios que comienzan con ‘hola’, luego el siguiente carácter puede ser un número del 1 al 5.
4) signo de exclamación (!)
! se utiliza para excluir caracteres de la lista que se especifica entre corchetes.
Por ejemplo:
ls hello[!3] It will display the directories starting with hello, ending with any character but not 3
5) Clases de caracteres con nombre ([[:named:]])
Se utiliza para imprimir valores con nombre. Su interpretación depende de la configuración regional de LC_CTYPE; Algunos de ellos se enumeran a continuación.
- ‘[:alnum:]’ : Imprime todos aquellos archivos que tienen letras y dígitos. Se consideran mayúsculas y minúsculas.
- ‘[:alpha:]’ : Imprime todos aquellos archivos que solo tienen letras. Se consideran mayúsculas y minúsculas.
- ‘ [:digit:]’ : Imprime todos aquellos archivos que tienen dígitos.
- ‘[:lower:]’: Imprime todos aquellos archivos que tienen letras minúsculas.
- ‘ [:punct:]’ : Imprime todos aquellos archivos que tienen caracteres de puntuación. ¡Buscará! ” # $% & ‘ ( ) * + , – . / : ; < = > ? @ [ \ ] ^ _ ` { | }~.
- ‘ [:space:]’: Imprime todos aquellos archivos que tienen caracteres de espacio.
- ‘[:upper:]’: Imprime todos aquellos archivos que tienen letras minúsculas.
Nota: Se pueden usar con asterisco (*), signo de interrogación (?) o corchetes ([]) para generar resultados útiles.
Por ejemplo:
ls [[:alpha:]]* : Will display the directories starting with a alphabet (either in lower or uppercase) and ending with any characters. ls *[[:alnum:]]*.* : Will display the files (of any type) containing a alphabet or a digit but may start or end with any length of characters. ls *[[:digit:]] : Will display the directories which may start with any length of characters but ending with a digit. ls ?[[:lower:]] : Will display the directories starting with exactly one character and ending with a lowercase character. ls *[[:upper:]]* : Will display the directories containing a alphabet or digit which may start or end with any length of characters.
Nota: Cualquier combinación de *, ? Se puede usar con cualquier clase nombrada.