Hi Steffen, > That is, tr(1) is buggy
tr(1) seems to be behaving as I'd expect. The \n is a control character and is being turned into space so you have to add another with echo. It thinks 0-0x1f and 0x7f are cntrl. $ recode /test8 </dev/null | > tr -c '[:cntrl:]' - | > tr '[:cntrl:]' c | > fold -32; echo cccccccccccccccccccccccccccccccc -------------------------------- -------------------------------- -------------------------------c -------------------------------- -------------------------------- -------------------------------- -------------------------------- $ > This doesn't work in the code above I can get an additional echo to work here, Linux, so I'm not quite sure what you're trying that fails? $ printf '%s\n' foo '.pso sh -c \' ' "echo -n a | tr a b"' bar | > nroff -U | grep . foo bbar $ $ printf '%s\n' foo '.pso sh -c \' ' "echo -n a | tr a b; \' ' echo"' bar | > nroff -U | grep . foo b bar $ Cheers, Ralph.