Table of Contents
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 *
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
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
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
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
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
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 *
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
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
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. :
- Cómo extraer archivos Tar a un directorio específico o diferente en Linux
- 3 formas de eliminar todos los archivos en un directorio excepto uno o pocos archivos con extensiones
- 10 consejos útiles para escribir scripts bash efectivos en Linux
- 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.