Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save shellscriptx/1d4d6ab8a2a5651b81cf44c8be01fd84 to your computer and use it in GitHub Desktop.
Save shellscriptx/1d4d6ab8a2a5651b81cf44c8be01fd84 to your computer and use it in GitHub Desktop.

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"
]
}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment