Globing de archivos en Linux

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, 

expansión de ruta para ‘*’

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.

Publicación traducida automáticamente

Artículo escrito por msdeep14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *