Isso demonstra como preencher e consultar uma matriz associativa targetarray
com chaves e valores de duas matrizes simples strlistarray1
e strlistarray2
:
#!/bin/bash
declare -a strlistarray1=( aka1 kaka hu3hu blabla )
declare -a strlistarray2=( Thoralf Mirkoslav Pjotr Jan )
declare -A targetarray
i=0
for e in "${strlistarray1[@]}"; do
targetarray["$e"]="${strlistarray2[i]}";
((i++))
done
for e in "${!targetarray[@]}"; do
echo $e --- ${targetarray[$e]}
done
Para buscar o conteúdo de um arquivo (assumindo uma entrada por linha), tente
IFS=$'\n'
declare -a strlistarray1=($(< yourfile))
unset IFS
Para buscar dados de um URL, tente
IFS=$'\n'
declare -a strlistarray1=($(wget -qO - 'http://yoururl'))
unset IFS
(A configuração IFS
é necessária para evitar problemas com dados buscados contendo espaços. Se você tiver certeza de que seus dados de entrada não possuem espaços, como em sua pergunta, as duas declarações IFS
podem ser omitidas). / p>