2009-03-18 14 views

Respuesta

22

Uso

echo -e "\012" 
+2

Esta funcionalidad requiere eso es completamente incompatible con POSIX (no solo una extensión, pero * activamente no permitido * por la especificación, lo que permite que no se cumplan otros distintivos que no sean '-n'), y ni siquiera será honrado en modo POSIX si' La bandera de xpg_echo' está establecida. –

28

Si se preocupan por la portabilidad, se le cae eco y utilizar printf (1):

printf '\012' 
+3

... o, si toma la secuencia de escape de una fuente que no es de confianza, 'printf '% b' '\ 012'', para honrar tales secuencias pero no otros contenidos de cadena de formato. –

11

En mi terminal,

printf '\012' >>output.txt 

funciona tanto para la representación octal del carácter ASCII, y el hexadecimal correspondiente:

printf '\xA' >>output.txt 

el comando

echo -en '\012' >>output.txt 
embargo

, no funciona correctamente. Solo los hexadecimales parecen funcionar con echo -e. -n elimina la nueva línea adicional predeterminada de echo.

+2

_Mi_ pregunta fue en realidad sobre cómo imprimir hexadecimal a un terminal - encontré esto a través de google, y esto respondió mi pregunta muy bien. También responde la pregunta del que pregunta. Merece más puntos. – Wyatt8740

1

Tomé no ASCII en el sentido de Unicode, por lo menos en mi caso, pero printf "\x##" no fue suficiente para mi solución de 2 bytes, por lo que utiliza esta sintaxis ligeramente diferente en su lugar:

> printf "\u25ba" 
► 
Cuestiones relacionadas