¿Cómo escribo caracteres no ASCII usando echo?
-
19-08-2019 - |
Pregunta
¿Cómo escribo caracteres que no sean ASCII usando echo? ¿Hay una secuencia de escape, como \ 012
o algo así?
Quiero agregar caracteres ASCII a un archivo usando:
echo ?? >> file
Solución
Uso
echo -e "\012"
Otros consejos
Si le importa la portabilidad, soltará echo y usará printf (1) :
printf '\012'
En mi terminal,
printf '\012' >>output.txt
funciona tanto para la representación octal del carácter ascii como para el hexadecimal correspondiente:
printf '\xA' >>output.txt
El comando
echo -en '\012' >>output.txt
sin embargo, no funciona correctamente. Solo los hexadecimales parecen funcionar con echo -e. El -n elimina la nueva línea extra predeterminada de echo.
Tomé no ASCII para referirme a Unicode, al menos en mi caso, pero printf " \ x ## "
no era suficiente para mi solución de 2 bytes, así que usé esto ligeramente sintaxis diferente en su lugar:
> printf "\u25ba"
►