O código aplicado abaixo tem como ojetivo solucionar um problema especifico na geração de um array de elementos em um objeto json a partir de uma lista de elementos. Ou seja, não pode ser considerado para uso geral.
Exemplo:
Considerando os itens contidos em cada arquivo:
arq1.txt
eey3IeweiT7n
aereiQuueM4a
Wohpeipuu1Ai
woh1ikain7Ei
Oe6aGoh4euGe
arq2.txt
eeCheit1Eepeipoo
Ahweishohseidu3u
Aibe6Ungetotheex
Código:
#!/bin/bash
# Nome dos arquivos.
arquivos=(arq1.txt arq2.txt)
for arq in ${arquivos[@]}; do
sed -r "s/.+/\"&\"/;\$!s/$/,/;1i \"$arq\": [" $arq | sed '$a ],'
done | sed '1i {"indice1": {' | sed '$c ]\n}}'
Saída:
{"indice1": {
"arquivo1": [
"eey3IeweiT7n",
"aereiQuueM4a",
"Wohpeipuu1Ai",
"woh1ikain7Ei",
"Oe6aGoh4euGe"
],
"arquivo2": [
"heit1Eepeipoo",
"Ahweishohseidu3u",
"Aibe6Ungetotheex"
]
}}