as title - I want to convert tabs in an input file / stdin to asciii unit separators on stdout / redirected file.
All of the following have no effect
tr 0x09 0x1f
tr '0x09' '0x1f'
sed 's#0x09#0x1f#g'
sed s#0x09#0x1f#g
have no effect
Neither tr
nor sed
understand 0x09
and 0x1f
. In bash, you can use the $'...'
quotes with C-style backslash escape sequences. This style understands both \t
and \x...
notations.
printf 'a\tb\n' | sed $'s/\t/\x1f/g'
printf 'a\tb\n' | tr '\t' $'\x1f'