Tablas Hash en Bash
-
Declarar y agregar pares
<clave, valor>
en la variable del diccionario en Bash -
Recuperando pares
<clave,valor>
del diccionario en Bash -
Actualización de
<clave,valor>
en un diccionario en Bash -
Eliminar un par
<clave,valor>
del diccionario - Iterando un diccionario en Bash en Bash
Un diccionario, también llamado hashmap o matriz asociativa, es una de las estructuras de datos más fundamentales en cualquier lenguaje de programación para almacenar una colección de cosas.
Un diccionario es una colección de claves, cada una de las cuales tiene un valor asociado. Puede insertar, recuperar o cambiar un valor en un diccionario utilizando la clave correspondiente.
Aunque Bash no es un lenguaje de programación de propósito general, admite de forma nativa hashmaps
en las versiones cuatro y superiores.
Declarar y agregar pares <clave, valor>
en la variable del diccionario en Bash
Las variables en Bash no están fuertemente tipadas, por lo que debe imponer un comportamiento similar al tipo indicando el atributo
de una variable.
Para utilizar un diccionario en Bash, use la declaración declare
con la opción -A
, que significa matriz asociativa, para declarar una variable de diccionario.
$ declare -A dict
Ahora hemos declarado una variable llamada dict
, que se puede usar como un diccionario. Para agregar pares <clave,valor>
al diccionario, seguiremos la siguiente sintaxis:
$ name_of_dictionary[key]=value
Agreguemos pares <clave, valor>
usando la sintaxis anterior.
$ dict[1]=Nil
$ dict[2]=Esh
Hemos añadido dos pares <clave, valor>
donde las claves son 1
y 2
y los valores son Nil
y Esh
.
Recuperando pares <clave,valor>
del diccionario en Bash
Para verificar los valores
correspondientes en el diccionario con una clave
, tenemos que agregar $
con llaves {}
a la variable del diccionario que definimos.
$ echo ${dict[1]}
Producción :
Nil
Actualización de <clave,valor>
en un diccionario en Bash
Para actualizar una <clave, valor>
existente en el diccionario, debemos insertar una nueva <clave, valor>
y sobrescribir el valor existente.
$ dict[1]=Nilesh
Si recuperamos el valor de la clave 1
, entonces:
$ echo ${dict[1]}
Producción :
Nilesh
Como podemos ver, Nil
de la tecla 1
se sobrescribe con Nilesh
.
Eliminar un par <clave,valor>
del diccionario
Usamos el comando unset
para eliminar un par <clave, valor>
.
$ unset dict[1]
El comando anterior eliminará el par <clave, valor>
con la clave 1
.
Iterando un diccionario en Bash en Bash
En Bash, podemos usar un bucle for
para iterar un diccionario. Veamos un ejemplo:
#!/bin/bash
declare -A dict
dict[1]=Nil
dict[2]=Esh
for key in "${!dict[@]}"; do
echo "$key ${dict[$key]}"
done
Reescribimos el comando anterior en un script y lo ejecutamos en una terminal Bash. ""
se utiliza para manejar las teclas con espacios.
Producción: