Closed dennisangemi closed 1 year ago
Quando c'è roba multiline, con caratteri "strani", uso perl
#!/bin/bash
out=$(cat datapackage.yaml | yq '[.contributors[] | {Name: .title, Role: .role, Email: .email}]' | mlr --j2m cat)
perl -i -p -e 's/{{{contributors}}}/'"$out"'/g' metadata.md
Ma si potrà fare pure con sed
E se è un progetto pubblico, facci sapere dove potremo vederne l'output :)
Ma si potrà fare pure con sed
Con sed riesco a farlo passando da un file temporaneo
<datapackage.yaml yq '[.contributors[] | {Name: .title, Role: .role, Email: .email}]' | mlr --j2m cat >temp.txt
sed -i -e '/{{{contributors}}}/r temp.txt' -e '//d' metadata.md
# if file exists, delete it
if [ -f temp.txt ]; then
rm temp.txt
fi
Grazie mille @aborruso! Sei più forte di ChatGPT ;)
Ho usato perl
così come scrivi tu e sembra tutto perfetto.
E se è un progetto pubblico, facci sapere dove potremo vederne l'output :)
Sono ancora in fase sperimentale ma non appena ci sarà qualcosa di decente rendo pubblico ;) avrai già intuito di cosa si tratta
Eccola https://tansignari.opendatasicilia.it/ricette/bash/sostituire_stringa_con_output/
Grazie ancora @aborruso, chiudo
@aborruso ho reso pubblico questo repo https://github.com/dennisangemi/frictionless2md. È ancora una bozza ma funzionicchia.
@aborruso ho reso pubblico questo repo https://github.com/dennisangemi/frictionless2md. È ancora una bozza ma funzionicchia.
molto molto carino!!!!
E mi rende orgoglioso
Ciao a tutt! Mi sono incartato da un po' di tempo su una questione che non riesco a risolvere nè con ChatGPT nè con google ;)
Ho un file markdown
metadata.md
così fattoDevo sostituire la stringa
{{{contributors}}}
con l'output di questo comandoche è una tabella del tipo
Ho provato ad usare
sed
in questo modo:ma ottengo l'errore:
Ho usato un comando analogo senza problemi. Temo che qui i caratteri della tabella in md facciano fare le bizze a sed.
questi i due file che possono tornare utile: tansignari.zip
Grazie in anticipo! <3