Domanda

Come posso scrivere caratteri non ASCII usando l'eco? Esiste una sequenza di escape, come \ 012 o qualcosa del genere?

Voglio aggiungere caratteri ASCII a un file usando:

echo ?? >> file
È stato utile?

Soluzione

Usa

echo -e "\012"

Altri suggerimenti

Se ti interessa la portabilità, lascerai cadere echo e utilizzerai printf (1) :

printf '\012'

Sul mio terminale,

printf '\012' >>output.txt

funziona sia per la rappresentazione ottale del carattere ascii, sia per l'esadecimale corrispondente:

printf '\xA' >>output.txt

Il comando

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

tuttavia, non funziona correttamente. Solo gli esadecimali sembrano funzionare con l'eco -e. -N rimuove il newline extra predefinito da echo.

Ho usato non-ASCII per indicare Unicode, almeno nel mio caso, ma printf " \ x ## " non era abbastanza per la mia soluzione a 2 byte, quindi l'ho usato leggermente sintassi diversa invece:

> printf "\u25ba"
►
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top