Comment écrire des caractères non-ASCII en utilisant echo?
-
19-08-2019 - |
Question
Comment écrire des caractères autres que ASCII à l'aide de echo? Existe-t-il une séquence d'échappement, telle que \ 012
ou quelque chose du genre?
Je souhaite ajouter des caractères ASCII à un fichier à l'aide de:
echo ?? >> file
La solution
Utiliser
echo -e "\012"
Autres conseils
Si vous tenez à la portabilité, vous supprimerez echo et utiliserez printf (1) :
printf '\012'
Sur mon terminal,
printf '\012' >>output.txt
fonctionne à la fois pour la représentation octale du caractère ascii et pour 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. Le -n supprime la nouvelle ligne supplémentaire par défaut de echo.
J'ai pris le terme non-ASCII pour désigner Unicode, du moins dans mon cas, mais printf " \ x ## "
ne suffisait pas pour ma solution à 2 octets. syntaxe différente à la place:
> printf "\u25ba"
►