There\'s valid json in a javascript on a html page that I want to parse with a shell script.
First of all I would like to get the entire json string from { to
One option might be to use pup, at least for parsing the HTML:
< input.html pup 'script:not(:empty) text{}' |
grep foo.bar.Processor.message | grep -o '{.*}' |
jq -r '.head.url
| split(";")[]
| select(test("barid="))
| sub("barid=";"")'
With your HTML (adjusted to ensure the JSON in the HTML is valid), this produces:
347EDAFA2B136D7825745B0A490DE32
Of course there are many caveats. YMMV.