Como faço para escrever caracteres não-ASCII usando eco?
-
19-08-2019 - |
Pergunta
Como faço para escrever não ASCII caracteres usando eco? Existe uma sequência de escape, como \012
ou algo parecido?
Eu quero acrescentar caracteres ASCII para um arquivo usando:
echo ?? >> file
Solução
Use
echo -e "\012"
Outras dicas
Se você se preocupa com a portabilidade, você vai cair echo e uso printf (1) :
printf '\012'
No meu terminal,
printf '\012' >>output.txt
funciona tanto para a representação octal do personagem ascii, eo hexadecimal correspondente:
printf '\xA' >>output.txt
O comando
echo -en '\012' >>output.txt
No entanto, não funciona corretamente. Somente hexadecimais parece trabalhar com echo -e. As remove -n o padrão de nova linha extra a partir de eco.
Eu levei não-ASCII a média Unicode, pelo menos no meu caso, mas printf "\x##"
não foi suficiente para a minha solução de 2 bytes, então eu usei esta sintaxe ligeiramente diferente em vez disso:
> printf "\u25ba"
►