var=$'a b c'
printf %q "$var"
$'a b \b c'
Isso funciona em bash
. Eu não sei como isso é compatível.
Eu estou querendo saber se existe um comando em bash
para imprimir uma string de uma maneira que expõe o caractere especial que ela contém.
Por exemplo, suponha que a=$'\a
; existe uma função para imprimir \a
\b\e'$a
\b\el
literalmente de sed
?
O mais próximo que eu tenho até agora é usando o comando \a
de %code% : $''
0\b3$
echo "$a" | sed -n 'l'
que retorna %code% , mas a notação é diferente daquela dentro de %code% , e não funciona se a string contiver novas linhas.
var=$'a b c'
printf %q "$var"
$'a b \b c'
Isso funciona em bash
. Eu não sei como isso é compatível.