[英]Linux shell scripting - Getting the sum of numbers within a String but also keeping the String with the sum number
[英]Linux shell scripting: hex number to binary string
我在shell腳本中尋找一些簡單的方法,將十六進制數轉換為0和1個字符的序列。
例:
5F -> "01011111"
是否有任何命令或簡單的方法來完成它或我應該為它寫一些開關?
echo "ibase=16; obase=2; 5F" | bc
$ printf '\x5F' | xxd -b | cut -d' ' -f2
01011111
要么
$ dc -e '16i2o5Fp'
1011111
i
命令將彈出堆棧的頂部並將其用作輸入庫。 Hex
數字必須為大寫,以避免與dc命令發生沖突,並且如果輸入基數大於16
則不限於AF
。 o
命令對輸出庫執行相同的操作。 p
命令將在其后面用換行符打印堆棧的頂部。 我在Linux中使用'bc'命令。 (比轉換更復雜的計算器!)
echo'ibs = 16; obase = 2; 5f'| 公元前
ibase參數是輸入基數(在本例中為hexa),並且取消輸出基數(二進制)。
希望能幫助到你。
Perl的printf
已經知道二進制:
$ perl -e 'printf "%08b\n", 0x5D'
01011101
我為那些工作寫了https://github.com/tehmoon/cryptocli 。
這是一個例子:
echo -n 5f5f5f5f5f | cryptocli dd -decoders hex -encoders binary_string
產量:
0101111101011111010111110101111101011111
相反也有效。
注意:它並不完美,還有很多工作要做,但它確實有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.