Як перетворити символ ASCII в ціле число в bash?


10

Я аналізую вихід ntpq для передачі його вмісту в нашу базу даних за допомогою утиліти консолі. Перший елемент являє собою підстроку, що містить один символ, що містить статус віддаленого. Це може бути "*", "+", "o", "#" і т. Д. Я б краще поставити його в БД як число, щоб його можна було легко утримувати за допомогою збережених процедур, але я не маю уявлення, як для перетворення символу в його ASCII представлення в bash.

Відповіді:


17

Поставте свого персонажа в змінну А.

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

Деякі приклади:

$ 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

Мабуть, це само собою зрозуміло, але сама змінна не потрібна: напр., printf '%d\n' "'*".
Сем Марінеллі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.