10 ejemplos prácticos que utilizan comodines para hacer coincidir nombres de archivo en Linux

10 ejemplos prácticos que utilizan comodines para hacer coincidir nombres de archivo en Linux

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

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

Estos comodines son interpretados por el shell y los resultados se devuelven al comando que ejecuta. Hay tres comodines principales en Linux:

  • Un asterisco (*): coincide con una o más ocurrencias de cualquier carácter, incluido ningún carácter.
  • Signo de interrogación (?)-representa o coincide con una sola aparición de cualquier carácter.
  • Caracteres entre corchetes ([]): coincide con cualquier aparición de carácter 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 hacer coincidir los nombres de archivo correctos: es También es posible combinarlos todos en una operación como se explica en los ejemplos a continuación.

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

Para el propósito de este artículo, usaremos lo siguiente archivos para demostrar cada ejemplo.

createbackup.sh list.sh lspace.sh speaker.sh listopen.sh lost.sh renombrar-files.sh topprocs.sh freestar.config.enabled_slots.push (nombre de ubicación: “tecmint_incontent”, slotId: “tecmint_incontent”);

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

$ ls-ll *  Lista de archivos con carácter  Listar archivos con carácter Listar archivos con carácter

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

$ mkdir-p users-info $ ls users-0 * $ mv-v users-0 * users-info/# Option El indicador -v. habilita la salida detallada  Listar y copiar todos los archivos  Listar y copiar todos los archivos Listar y copiar todos los archivos

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

$ ls l? st.sh  Emparejar archivo con nombre de personaje  Emparejar archivo con nombre de personaje Hacer coincidir el archivo con el nombre del carácter

4.. El siguiente comando hace coincidir todos los archivos con nombres que comienzan con l seguido de cualquier de los caracteres en el corchete pero terminando en st.sh.

$ ls l [abdcio] st.sh  Archivos coincidentes con nombres  Archivos coincidentes con nombres Archivos coincidentes con nombres

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

Puede combinar comodines para crear un criterio de coincidencia de nombres 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 que terminan con una o más ocurrencias de cualquier carácter.

$ ls $ ls ?? st *  Emparejar nombres de archivo con prefijo  Emparejar nombres de archivo con prefijo Emparejar nombres de archivo con Prefijo

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

$ ls $ ls [clst] *  Emparejar archivos con caracteres  Emparejar archivos con caracteres Emparejar archivos con caracteres

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

$ ls $ ls [clst] [io]? t *  Listar archivos con varios caracteres  Archivo de lista s con varios caracteres Lista de archivos con varios caracteres

8.. Aquí, los nombres de archivo con el prefijo de una o más apariciones de cualquier carácter, seguidos del se eliminarán las letras tar y terminen con una o más ocurrencias de cualquier carácter.

$ ls $ rm * tar * $ ls Eliminar archivos con letras de caracteres  Eliminar archivos con letras de caracteres Eliminar archivos con letras de caracteres

Cómo hacer coincidir el conjunto de caracteres 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 termine con una o más ocurrencias 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 minúscula o mayúscula o número, luego un número y termina con una o más ocurrencias de cualquier carácter.

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

Este comando que lo que sigue coincidirá con todos los nombres de archivo que comiencen con users-i, seguido de un número, una letra o número en minúscula o mayúscula, luego una letra en minúscula o mayúscula ry termina con una o más ocurrencias de cualquier carácter.

$ ls usuarios-[0-9] [a-zA-Z0-9] [a-zA-Z] * Coincidir caracteres en nombres de archivo  Emparejar caracteres en nombres de archivo Coincidir caracteres en nombres de archivo

Cómo negar un conjunto de caracteres en Linux

10.. También puede negar un conjunto de caracteres usando la ! 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 aparte de un número, luego una letra minúscula o mayú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 ha probado los ejemplos anteriores, ahora debería comprender bien cómo funcionan los comodines para hacer coincidir los nombres de archivo en Linux.

También le gustaría leer estos artículos siguientes 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 en un directorio excepto uno o pocos archivos con extensiones
  3. 10 consejos útiles para escribir scripts bash efectivos en Linux
  4. Cómo usar Awk y expresiones regulares para filtrar texto o cadenas en archivos

Si tiene algo para compartir o una pregunta (s) para hacer, use el formulario de comentarios a continuación.