web-dev-qa-db-fra.com

Comment écrire des caractères non ASCII en utilisant l'écho?

Comment écrire des caractères non - ASCII en utilisant l'écho? Y a-t-il une séquence d'échappement, telle que \012 ou quelque chose comme ça?

Je veux ajouter ASCII à un fichier en utilisant:

echo ?? >> file
28
flybywire

Utilisation

echo -e "\012"
26
vartec

Si vous vous souciez de la portabilité, vous abandonnerez écho et utilise printf (1):

printf '\012'
30
Nietzche-jou

Sur mon terminal,

printf '\012' >>output.txt

fonctionne à la fois pour la représentation octale du caractère ascii et l'hexadécimal correspondant:

printf '\xA' >>output.txt

La commande

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

cependant, ne fonctionne pas correctement. Seuls les hexadécimaux semblent fonctionner avec echo -e. L'option -n supprime la nouvelle ligne supplémentaire par défaut de l'écho.

12
mareoraft

J'ai pris non ASCII pour signifier Unicode, au moins dans mon cas, mais printf "\x##" n'était pas suffisant pour ma solution à 2 octets, j'ai donc utilisé cette syntaxe légèrement différente à la place:

> printf "\u25ba"
►
1
Pysis