Wie konvertiere ich ASCII-Zeichen in Bash in Bash?


10

Ich analysiere eine ntpq-Ausgabe, um ihren Inhalt über das Konsolendienstprogramm an unsere Datenbank zu übergeben. Das erste Element ist eine Teilzeichenfolge mit einem Zeichen, die den Status der Fernbedienung enthält. Es kann "*", "+", "o", "#" usw. sein. Ich würde es besser als Nummer in die Datenbank einfügen, damit es leicht von gespeicherten Prozeduren gehalten werden kann, aber ich habe keine Ahnung, wie um ein Zeichen in seine ASCII-Darstellung in Bash umzuwandeln.

Antworten:


17

Setzen Sie Ihren Charakter in die Variable A.

printf '%d\n' "'$A"

Einige Beispiele:

$ A="*"; printf '%d\n' "'$A"
42
$ A="+"; printf '%d\n' "'$A"
43
$ A="#"; printf '%d\n' "'$A"
35
$ A="o"; printf '%d\n' "'$A"
111

Dies ist wahrscheinlich selbstverständlich, aber die Variable selbst ist nicht erforderlich: z printf '%d\n' "'*".
Sam Marinelli
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.