[script] nessuna indicazione utile, come procedere
Closed this issue · 2 comments
pigreco commented
Perché non fa nulla, nessun output, nessun messaggio.
Mi aspetterei un elenco di file csv, un esempio di file sotto:
k,v
"01",residenziale
"0101",abitativa
"02",amministrativo
"0201",municipio
"0202",sede provincia
"0203",sede regione
"0204",sede ambasciata o consolato
"0205",sede di città metropolitana
"03",servizio pubblico
"0308",casello forestale
script usato:
<lista_demain.csv | while IFS="" read -r domain;do jq . dbgt10k_fc_domain.json | jq -r '.domains.'"$domain"'.codedValues' | mlr --j2c reshape -r '.' -o k,v >"$domain".csv;done
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[]'
)
aborruso commented
È 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
pigreco commented
Perfect!
grazie assai.