Expansión con llaves



Quizás la expansión más extraña es la llamada expansión con llaves. Con ella, puedes crear múltiples cadenas de texto a partir de un patrón que contenga llaves. Aquí tienes un ejemplo:


echo Front-{A,B,C}-Back

Nos daría una salida tal como:


Front-A-Back Front-B-Back Front-C-Back



Los patrones a expandir con llaves pueden contener un prefijo llamado preamble (preámbulo) y un sufijo llamado postcript (postdata). La expresión entre llaves puede contener una lista de cadenas separadas por comas o un rango de números enteros o caracteres individuales. El patrón no debe contener espacios en blanco. Aquí hay un ejemplo usando un rango de números enteros:


echo Number_{1..5}

Que imprime la siguiente salida


Number_1 Number_2 Number_3 Number_4 Number_5



Los números enteros también pueden tener ceros a la izquierda así:


echo {01..15}
echo {001..15}

Imprimiendo como salidas respectivamente:


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015



Un rango de letras en orden inverso:


echo {Z..A}

Mostrando:


Z Y X W V U T S R Q P O N M L K J I H G F E D C B A



Las expansiones con llaves pueden ser anidadas:


echo a{A{1,2},B{3,4}}b

Lo que daría una salida tal como:


aA1b aA2b aB3b aB4b



¿Y para qué sirve esto? La aplicación más común es hacer listas de archivos o directorios a crear. Por ejemplo, si fuésemos fotógrafos con una gran colección de imágenes que queremos organizar en años y meses, la primera cosa que deberíamos hacer es crear una serie de directorios nombrados en formato numérico “Año-Mes”. De esta forma, los directorios se ordenarán cronológicamente. Podríamos escribir la lista completa de directorios, pero sería un montón de trabajo y sería muy fácil equivocarnos. En lugar de eso, podríamos hacer esto:


mkdir Fotos
cd Fotos
mkdir {2007..2009}-{01..12}
ls

Nos mostraría lo siguiente:


2007-01 2007-07 2008-01 2008-07 2009-01 2009-07
2007-02 2007-08 2008-02 2008-08 2009-02 2009-08
2007-03 2007-09 2008-03 2008-09 2009-03 2009-09
2007-04 2007-10 2008-04 2008-10 2009-04 2009-10
2007-05 2007-11 2008-05 2008-11 2009-05 2009-11
2007-06 2007-12 2008-06 2008-12 2009-06 2009-12






Recorda apoyarnos en nuestras redes para poder seguir adelante con todo lo que implica PatoJAD es un proyecto que poco a poco crece e intenta estar al lado de todos de los usuarios dándoles dia a dia herramientas o funcionalidades. Mostranos tu apoyo con pequeños gestos, desactivando el bloqueador de anuncios, apoyándonos en las redes sociales, donando o compartiendo el contenido, esto solo es posible gracias a cada lector y cada persona que demuestra su agradecimiento







Autor

PatoJAD

PatoJAD

Desarrollador


Sobre mi no hay mucho para decir, me dedico a desarrollar en una empresa de telecomunicaciones, utilizo GNU/Linux desde el 2.012 y hace años que es mi Sistema Operativo main. Soy una persona que busca crecer profesionalmente sin dejar de divertirse y hacer lo que me gusta. Siempre digo que cuando un proyecto sale es importante agradecer, por lo cual les recomiendo a todos leer la seccion Agreadecimientos en la cual me tomé un tiempito para poder agradecer a todos y cada uno de los que hicieron posible todo esto.




Comentarios

Busqueda






Donar

Todo lo que realizamos en el softwarelibre (colaboraciones, desarrollos, blogs, etc.) lo realizamos por amor al mismo y no pedimos nada a cambio por nuestros servicios comunitarios.

Sin embargo muchas personas desean colaborar para poder mejorar los mismos y personalmente ofrezco esta opcion aunque aconsejo fuertemente que se done en proyectos mas importantes como KDE y demas...

Donar via PayPal Donar via Patreon Donar via MercadoPago


Sitios Amigos







Publicaciones

261