Bagaimana cara mengubah karakter ASCII ke integer di bash?


9

Saya mem-parsing output ntpq untuk meneruskan kontennya ke database kami melalui utilitas konsol. Elemen pertama adalah substring satu karakter yang berisi status remote. Bisa jadi "*", "+", "o", "#" dll. Sebaiknya saya taruh di DB sebagai angka, jadi bisa dengan mudah dipegang oleh prosedur yang tersimpan, tapi saya tidak tahu, bagaimana untuk mengubah karakter menjadi representasi ASCII di bash.

Jawaban:


14

Masukkan karakter Anda ke dalam variabel A.

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

Beberapa contoh:

$ 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

Ini mungkin tidak perlu dikatakan lagi, tetapi variabel itu sendiri tidak diperlukan: mis., printf '%d\n' "'*".
Sam Marinelli
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.