如何在bash中将ASCII字符转换为整数?


10

我正在解析ntpq输出,以通过控制台实用程序将其内容传递给我们的数据库。第一个元素是一个包含远程状态的单字符子字符串。它可以是“ *”,“ +”,“ o”,“#”等。我最好将它作为一个数字放置在数据库中,这样它可以很容易地由存储过程保存,但是我不知道如何将字符转换为bash中的ASCII表示形式。

Answers:


17

将您的角色放入变量A。

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' "'*"
山姆·马里内利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.