Imprimir elementos de matriz en Bash

MD Aminul Islam 20 junio 2023
  1. Use la declaración echo para imprimir elementos de matriz en Bash
  2. Use el bucle for para imprimir elementos de matriz en líneas separadas en Bash
  3. Use la palabra clave historia para imprimir elementos de matriz en líneas separadas en Bash
  4. Use la palabra clave basename para imprimir elementos de matriz en líneas separadas en Bash
  5. Use la palabra clave shuf para imprimir elementos de matriz en líneas separadas en Bash
Imprimir elementos de matriz en Bash

Cuando trabaje con una matriz, es posible que necesite ver qué datos se almacenan en la matriz. En un script Bash, hay varios métodos que podemos usar para imprimir los elementos de la matriz.

Este artículo mostrará cómo podemos imprimir los elementos de la matriz en las secuencias de comandos de Bash. Vamos a discutir 5 métodos diferentes para este propósito.

Además, veremos ejemplos y explicaciones necesarias para facilitar el tema.

Use la declaración echo para imprimir elementos de matriz en Bash

En este método, imprimiremos todos los elementos de una matriz usando la palabra clave echo. Sin embargo, esta palabra clave imprimirá todos los elementos de la matriz en una sola línea.

Puede seguir el siguiente código de ejemplo para este propósito:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: ${MyArray[@]}"

Después de ejecutar el script Bash anterior, obtendrá un resultado como el siguiente:

The array elements are: A B C D E

Use el bucle for para imprimir elementos de matriz en líneas separadas en Bash

En el siguiente ejemplo, imprimiremos los elementos de una matriz usando un bucle. Puede usar cualquiera de los bucles que prefiera, pero usaremos el bucle for en nuestro ejemplo.

El código de nuestro ejemplo se muestra a continuación:

MyArray=('A' 'B' 'C' 'D' 'E')

for item in "${MyArray[@]}"
do
  echo "$item"
done

En el ejemplo anterior, puedes observar una parte del código que es ${MyArray[@]}. Esto es para tomar todos los elementos de la matriz en un bucle.

Después de ejecutar el script Bash anterior, obtendrá un resultado como el siguiente:

A
B
C
D
E

Use la palabra clave historia para imprimir elementos de matriz en líneas separadas en Bash

Nuestro próximo método usará la palabra clave historia para imprimir los elementos de una matriz. Pero tenga en cuenta que este método puede fallar si algún elemento de la matriz contiene un !.

En el siguiente ejemplo, utilizaremos la palabra clave historia para imprimir los elementos de la matriz. El código de nuestro ejemplo se verá así:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
history -p  "${MyArray[@]}"

Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:

The array elements are:
A
B
C
D
E

Use la palabra clave basename para imprimir elementos de matriz en líneas separadas en Bash

También podemos imprimir todos los elementos de una matriz utilizando la palabra clave basename. Pero tenga en cuenta que este método puede fallar si algún elemento de la matriz contiene un !.

En nuestro ejemplo a continuación, usaremos la palabra clave basename para imprimir los elementos de la matriz. El código de nuestro ejemplo se muestra a continuación:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
basename -a "${MyArray[@]}"

Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:

The array elements are:
A
B
C
D
E

Use la palabra clave shuf para imprimir elementos de matriz en líneas separadas en Bash

Hay otra palabra clave incorporada en Bash que podemos usar con el mismo propósito de imprimir los elementos de la matriz, que es shuf. Pero tenga en cuenta que es posible que este método no proporcione la salida en orden.

En nuestro ejemplo a continuación, usaremos la palabra clave shuf para imprimir los elementos de la matriz. El código de nuestro ejemplo se verá así:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
shuf -e "${MyArray[@]}"

Después de ejecutar el script Bash anterior, obtendrá el siguiente resultado:

The array elements are:
B
A
C
E
D

Puede elegir cualquiera de los métodos anteriores según sus necesidades.

Tenga en cuenta que todo el código utilizado en este artículo está escrito en Bash. Solo funcionará en el entorno Linux Shell.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - Bash Array