GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos prácticos usando comodines para unir nombres de archivos en Linux

Comodines (también denominados metacaracteres) son símbolos o caracteres especiales que representan a otros caracteres. Puede usarlos con cualquier comando, como el comando ls o el comando rm. para enumerar o eliminar archivos que coincidan con un criterio dado, de manera receptiva.

Lea también:10 ejemplos prácticos útiles sobre el encadenamiento de operadores en Linux

El shell interpreta estos comodines y los resultados se devuelven al comando que ejecuta. Hay tres comodines principales en Linux:

  • Un asterisco (*) – coincide con una o más apariciones de cualquier carácter, incluido ningún carácter.
  • Signo de interrogación (?) – representa o coincide con una única aparición de cualquier carácter.
  • Caracteres entre paréntesis ([ ]) – coincide con cualquier ocurrencia del carácter encerrado entre corchetes. Es posible utilizar diferentes tipos de caracteres (caracteres alfanuméricos):números, letras, otros caracteres especiales, etc.

Debe elegir cuidadosamente qué comodín usar para que coincida con los nombres de archivo correctos:también es posible combinarlos todos en una sola operación, como se explica en los ejemplos a continuación.

Cómo hacer coincidir nombres de archivos usando comodines en Linux

A los efectos de este artículo, utilizaremos los siguientes archivos para demostrar cada ejemplo.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Este comando hace coincidir todos los archivos con nombres que comienzan con l (que es el prefijo) y terminando con una o más apariciones de cualquier carácter.

$ ls -l l*	

2. Este ejemplo muestra otro uso de * para copiar todos los nombres de archivo con el prefijo users-0 y terminando con una o más apariciones de cualquier carácter.

$ mkdir -p users-info
$ ls users-0*
$ mv -v users-0* users-info/	# Option -v flag enables verbose output

3. El siguiente comando hace coincidir todos los archivos con nombres que comienzan con l seguido de cualquier carácter individual y terminando con st.sh (que es el sufijo).

$ ls l?st.sh	

4. El siguiente comando coincide con todos los archivos con nombres que comienzan con l seguido de cualquiera de los caracteres entre corchetes pero terminando con st.sh .

$ ls l[abdcio]st.sh 

Cómo combinar comodines para hacer coincidir los nombres de archivo en Linux

Puede combinar comodines para crear un criterio de coincidencia de nombre de archivo complejo como se describe en los siguientes ejemplos.

5. Este comando coincidirá con todos los nombres de archivo con el prefijo de dos caracteres seguidos de st pero terminando con una o más ocurrencias de cualquier carácter.

$ ls
$ ls ??st*

6. Este ejemplo coincide con los nombres de archivo que comienzan con cualquiera de estos caracteres [clst] y terminando con una o más apariciones de cualquier carácter.

$ ls
$ ls [clst]*

7. En estos ejemplos, solo los nombres de archivo que comienzan con cualquiera de estos caracteres [clst] seguido de uno de estos [io] y luego cualquier carácter individual, seguido de una t y, por último, se enumerarán una o más ocurrencias de cualquier carácter.

$ ls
$ ls [clst][io]?t*

8. Aquí, nombres de archivo con el prefijo de una o más apariciones de cualquier carácter, seguido de las letras tar y que terminen con una o más apariciones de cualquier carácter serán eliminados.

$ ls
$ rm *tar*
$ ls

Cómo hacer coincidir los caracteres establecidos en Linux

9. Ahora veamos cómo especificar un conjunto de caracteres. Considere los nombres de archivo a continuación que contienen información de los usuarios del sistema.

$ ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Este comando coincidirá con todos los archivos cuyo nombre comience con users-i , seguido de un número, una letra minúscula o un número, luego un número y termina con una o más apariciones de cualquier carácter.

$ ls users-[0-9][a-z0-9][0-9]*

El siguiente comando coincide con los nombres de archivo que comienzan con users-i , seguido de un número, una letra mayúscula o minúscula o un número, luego un número y termina con una o más apariciones de cualquier carácter.

$ ls users-[0-9][a-zA-Z0-9][0-9]*

El siguiente comando coincidirá con todos los nombres de archivo que comiencen con users-i , seguido de un número, una letra mayúscula o minúscula o un número, luego una letra mayúscula o minúscula y termina con una o más apariciones de cualquier carácter.

$ ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Cómo negar un conjunto de caracteres en Linux

10. También puede negar un conjunto de caracteres usando el ! símbolo. El siguiente comando enumera todos los nombres de archivo que comienzan con users-i , seguido de un número, cualquier carácter de nombre de archivo válido excepto un número, luego una letra mayúscula o minúscula y termina con una o más apariciones de cualquier carácter.

$ ls users-[0-9][!0-9][a-zA-Z]*

¡Eso es todo por ahora! Si probó los ejemplos anteriores, ahora debería tener una buena comprensión de cómo funcionan los comodines para hacer coincidir los nombres de archivo en Linux.

También le puede interesar leer los siguientes artículos que muestran ejemplos del uso de comodines en Linux:

  1. Cómo extraer archivos Tar a un directorio específico o diferente en Linux
  2. 3 formas de eliminar todos los archivos de un directorio excepto uno o algunos archivos con extensiones
  3. Diez consejos útiles para escribir secuencias de comandos Bash efectivas en Linux
  4. Cómo usar Awk y expresiones regulares para filtrar texto o cadenas en archivos

Si tiene algo que compartir o alguna pregunta que hacer, utilice el formulario de comentarios a continuación.


Linux
  1. 10 ejemplos prácticos del uso del comando scp

  2. Comando cp en Linux:7 ejemplos prácticos

  3. Comando de apagado de Linux:5 ejemplos prácticos

  4. 5 ejemplos prácticos del comando dd en Linux

  5. 5 ejemplos prácticos de comandos de fuser de Linux

12 ejemplos prácticos de In Command en Linux

Los 50 Ejemplos Prácticos del Comando SED en Linux

15 ejemplos prácticos del comando Rsync en Linux

5 ejemplos prácticos de Tail Command en Linux

Comando echo en Linux:7 ejemplos prácticos

Ejemplos prácticos de comando ping en Linux