> On 16 Feb 2022, at 1:20 pm, Wietse Venema <wie...@porcupine.org> wrote:
> 
>> Actually, no, with "-r" not only are quotes removed, but also escaped
>> forms are converted back to the underlying UTF-8 form, and control
>> characters are output verbatim (as newlines, ESC, ...).
> 
> Oops, I did an incorrect experiment. 
> 
> Confirming that -r produces unescaped output:
> 
>    $ cat x
>    { "foo": "\nbar"}
>    $ jq -r .foo  x|od -cb
>    0000000  \n   b   a   r  \n
>            012 142 141 162 012
> 
> So, "jq -r"  expands \n into newline. What is the legitimate need
> to pass such things into scripts that expect newline-delimited output?

Well, if a message contains non-printable characters in the sender,
one of the recipient addresses, or delay reason, and I process the
output of "postqueue -j" in a language that supports JSON ("jq",
"python", "perl", ...) then it should be possible to see the actual
data without sanitisation.

-- 
        Viktor.

Reply via email to