Nasıl ASCII karakter bash tamsayı dönüştürmek için?


10

Konsol yardımcı programı aracılığıyla içeriğini veritabanımıza geçirmek için bir ntpq çıktı ayrıştırıyorum. İlk öğe, uzaktan kumandanın durumunu içeren tek karakterli bir alt dizedir. "*", "+", "O", "#" vb. Olabilir. DB'ye bir sayı olarak koysam iyi olur, bu yüzden saklı yordamlar tarafından kolayca tutulabilir, ama hiçbir fikrim yok, nasıl bir karakteri bash'taki ASCII gösterimine dönüştürmek için.

Yanıtlar:


17

Karakterinizi A değişkenine yerleştirin.

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

Bazı örnekler:

$ 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

Bu muhtemelen söylemeden geçer, ancak değişkenin kendisi gerekli değildir: örn., printf '%d\n' "'*".
Sam Marinelli
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.