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
Était-ce utile?

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"
►
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top