Closed pigreco closed 1 year ago
È colpa del while
, che funziona meglio con questa sintassi, in cui metti il file di input in fondo
while IFS="" read -r domain; do
jq -r '.domains.'"$domain"'.codedValues' dbgt10k_fc_domain.json |
mlr --j2c reshape -r '.' -o k,v >"$folder"/data/"$domain".csv
done <lista_demain.csv
Per intero lo farei così
#!/bin/bash
set -x
set -e
set -u
set -o pipefail
folder="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# crea cartella per i dati, se non esiste
mkdir -p "$folder"/data
# rimuovi i file csv, se esistono
find "$folder"/data -type f -name '*.csv' -delete
while IFS="" read -r domain; do
jq -r '.domains.'"$domain"'.codedValues' dbgt10k_fc_domain.json |
mlr --j2c reshape -r '.' -o k,v >"$folder"/data/"$domain".csv
done <lista_demain.csv
Perfect!
grazie assai.
Perché non fa nulla, nessun output, nessun messaggio. Mi aspetterei un elenco di file csv, un esempio di file sotto:
script usato:
allego file:
dove:
dbgt10k_fc_domain.json
: un file json con le info su un FileGDB (risultato di:ogrinfo -json DBGT_10K_22_V01.gdb
)lista_demain.csv
: è una lista di nomi (risultato di :ogrinfo -json DBGT_10K_22_V01.gdb | jq -r '.domains|keys[]'
)