Wie schreibe ich nicht ASCII Zeichen mit Echo? Gibt es eine Escape-Sequenz, wie \012
oder etwas ähnliches?Wie schreibe ich Nicht-ASCII-Zeichen mit echo?
Ich möchte ASCII-Zeichen in eine Datei anhängen mit:
echo ?? >> file
Wie schreibe ich nicht ASCII Zeichen mit Echo? Gibt es eine Escape-Sequenz, wie \012
oder etwas ähnliches?Wie schreibe ich Nicht-ASCII-Zeichen mit echo?
Ich möchte ASCII-Zeichen in eine Datei anhängen mit:
echo ?? >> file
Verwenden
echo -e "\012"
Wenn Sie Portabilität kümmern, werden Sie fallen Echo und verwenden printf (1):
printf '\012'
... oder, wenn Sie die Escape-Sequenz von einer nicht vertrauenswürdigen Quelle nehmen, 'printf'% b '' \ 012'', um solche Sequenzen zu honorieren, aber nicht andere Formatzeichenfolge. –
Auf meinem Terminal
printf '\012' >>output.txt
funktioniert sowohl für die Darstellung des oktalen ASCII- Zeichen, und der entsprechenden Hexadezimal:
printf '\xA' >>output.txt
Der Befehl
echo -en '\012' >>output.txt
jedoch nicht richtig funktioniert. Nur Hexadezimale scheinen mit Echo -e zu arbeiten. Die Option -n löscht die Standard-Zusatzzeile von echo.
_Meine Frage war tatsächlich, wie man hexadezimal zu einem Terminal drucken kann - fand dies durch Google, und das beantwortete meine Frage sehr gut. Es beantwortet auch die Frage des Fragestellers. Es verdient mehr Punkte. – Wyatt8740
Ich nahm Nicht-ASCII-Unicode zu bedeuten, zumindest in meinem Fall, aber printf "\x##"
war für meine 2-Byte-Lösung nicht genug, so habe ich diese etwas andere Syntax statt:
> printf "\u25ba"
►
Dies erfordert Funktionalität das ist mit POSIX völlig nicht kompatibel (nicht nur eine Erweiterung, sondern * durch die Spezifikation * nicht erlaubt), die keine anderen Flags als "-n" berücksichtigt) und auch im POSIX-Modus nicht von bash akzeptiert wird, wenn ' xpg_echo' Flag ist gesetzt. –