Expansión del corsé Bash

Bash usa la expansión de llaves para generar una secuencia de cadenas desde la terminal o usando cualquier script de bash. Se utiliza una secuencia de expresiones o una lista de datos separados por comas con llaves para definir la expansión de llaves. Dos partes opcionales de la expansión de llaves son el preámbulo y la posdata . El preámbulo se usa para agregar texto al principio de cada cadena generada y la posdata se usa para agregar texto al final de la cadena generada mediante la expansión de llaves. En este tutorial se explica cómo el usuario puede crear diferentes tipos de cadenas aleatorias usando la expansión de llaves bash usando varios ejemplos.

Sintaxis:

  1. Lista de cadenas
{String1, String2,… ,StringN }
  1. Lista de rango
{&ltstart&gt . . &ltend&gt}
  1. Preámbulo y posdata
&ltpreamble&gt{ string or range }
{ string or range }&ltpostscript&gt
&ltpreamble{ string or range }&ltpostscript&gt

La sintaxis anterior muestra que puede usar la expansión de llaves sin preámbulo y posdata o con preámbulo o con posdata o con ambos. Los diferentes usos de las expansiones de corsé se muestran en la siguiente parte de este tutorial usando varios ejemplos.

Ejemplo 1: uso de listas separadas por comas

El siguiente comando muestra el uso de la expansión de llaves con listas separadas por comas solamente. Debe recordar una cosa al definir la lista. Es decir, los elementos de la lista deben estar separados solo por comas y no agregue ningún espacio entre los elementos de lo contrario, la expansión de llaves no funcionará. Aquí, el primer comando mostrará los elementos de la lista con espacio. Se utilizan dos listas en el segundo comando y la salida se generará combinando cada elemento de cada lista.

$ echo {PHP,Javascript,JQuery}
$ echo {“I like “,“Learn “}{“PHP”,“Programming”}

Producción:

La siguiente salida aparecerá después de ejecutar el script. En el segundo comando, hay dos elementos en cada lista y hay dos listas. Entonces, el segundo comando se imprimirá (2X2= 4), cuatro texto como salida.

Ejemplo 2: uso de rangos

Se pueden usar diferentes tipos de rangos en la expansión de llaves para generar la lista de datos. En este ejemplo se muestran los usos de cuatro tipos de rangos. El primer rango creará una lista de datos numéricos, comenzando de 50 a 60. El segundo rango generará una lista de caracteres alfabéticos, comenzando de A a F. El tercer rango generará una lista de números, comenzando de 1 a 5 con cero a la izquierda. El cuarto rango generará una lista de datos alfanuméricos combinando A con C y 1 a 3.

$ echo {50..60}
$ echo {A..E}
$ echo {01..05}
$ echo {A..C}{1..3}

Producción:

La siguiente salida aparecerá después de ejecutar los comandos anteriores. En el último comando, la primera expansión de abrazadera contiene tres elementos y la segunda expansión de abrazadera contiene tres elementos. Entonces, el total de elementos en la salida será, 3X3= 9.

Ejemplo 3: uso de preámbulo

Este ejemplo muestra el uso del preámbulo en la expansión de llaves. El primer comando agregará la cadena, “Hola” con cada elemento de la lista y generará la salida. El segundo comando agregará ‘b’ con cada elemento de la lista. Este tipo de tarea es beneficioso si desea agregar un texto o carácter común al principio de cada elemento de la lista.

$ echo “Hi “{John, Mohammed, Lisa}
$ echo b{all, ell, oat, eef}

Producción:

La siguiente salida aparecerá después de ejecutar los comandos.

Ejemplo 4: uso de postscript

Este ejemplo muestra el uso de postscript en la expansión de llaves. El texto “es un programador” se agregará al final de cada elemento de la lista en el primer comando. La palabra “bola” se agregará con cada elemento de la lista en el segundo comando. Si la última parte de cada elemento de la lista es la misma, entonces es mejor crear la lista mediante la expansión de llaves con posdata.

$ echo {John,Mohammed,Lisa}” is a programmer.”
$ echo {basket,foot,volley}ball

Producción:

La siguiente salida aparecerá después de ejecutar los comandos.

Ejemplo-5: Usar tanto el preámbulo como la posdata

Cuando la primera parte y la última parte de cada elemento de la lista son iguales, es mejor crear la lista utilizando la expansión de llaves con preámbulo y posdata. Aquí, el primer comando agregará “Hola”, al comienzo de cada elemento de la lista y “bienvenido a LinuxHint.”, Al final de cada elemento de la lista. El segundo comando generará una lista alfanumérica agregando “*****” al principio y “. *****” al final del elemento de la lista. Según el rango, el primer artículo es Q01 y el último artículo es Q05.

$ echo “Hi, “{John,Mohammed,Lisa}” welcome to LinuxHint.”
$ echo “*****Q”{01..05}“.*****”

Producción:

La siguiente salida aparecerá después de ejecutar los comandos.

Ejemplo 6: creación de una secuencia de directorio y archivo

El comando `echo` se usa en todos los ejemplos anteriores de este tutorial. Pero también puede usar la expansión de llaves con otros comandos. En este tutorial se muestra cómo puede crear varios archivos o carpetas en un solo comando mediante la expansión de llaves. El siguiente comando creará tres carpetas, Diseño, Programación y Marco , usando el comando ` mkdir` y la expansión de llaves.

$ mkdir {Design,Programming,Framework}
$ ls

Producción:

La siguiente salida aparecerá después de ejecutar los comandos.

También puede crear varios archivos secuenciales utilizando la expansión táctil y de refuerzo con preámbulo y posdata. En este ejemplo , el comando `touch` se usa para crear varios archivos. “Ps” se usa como preámbulo, “.py” se usa como posdata y el rango 1..3 se usa para crear los nombres de archivos secuenciales. El segundo comando, ‘ls’ mostrará que los archivos se crearon o no.

$ touchps{1..3}”.py”
$ ls

Producción:

La siguiente salida aparecerá después de ejecutar los comandos. Aquí, se crearán tres archivos. Estos son ps1.py, ps2.py y ps3.py .

Conclusión

La expansión de llaves es muy útil para generar una lista de datos secuenciales o ejecutar cualquier comando en una secuencia de datos. En este tutorial se muestran algunos usos comunes de la expansión de llaves. Espero que el lector pueda utilizar la expansión de llaves correctamente después de practicar los ejemplos de este tutorial.

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux