Làm cách nào để chuyển đổi ký tự ASCII thành số nguyên trong bash?


10

Tôi đang phân tích cú pháp đầu ra ntpq để chuyển nội dung của nó vào cơ sở dữ liệu của chúng tôi thông qua tiện ích bàn điều khiển. Phần tử đầu tiên là một chuỗi con một ký tự chứa trạng thái của điều khiển từ xa. Nó có thể là "*", "+", "o", "#", v.v. để chuyển đổi một ký tự thành biểu diễn ASCII trong bash.

Câu trả lời:


17

Đặt nhân vật của bạn vào biến A.

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

Vài ví dụ:

$ 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

Điều này có thể không cần phải nói, nhưng bản thân biến không bắt buộc: vd printf '%d\n' "'*".
Sam Marinelli
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.