linux十六进制转二进制 shell
时间: 2023-10-03 11:07:20 浏览: 426
可以使用 `xxd` 命令将十六进制转换成二进制。具体命令如下:
```
echo -n 'hex_string' | xxd -r -p | xxd -b | awk '{print $2}'
```
其中,将 `hex_string` 替换成需要转换的十六进制字符串即可。
例如,将十六进制字符串 `a1b2c3d4` 转换成二进制,命令如下:
```
echo -n 'a1b2c3d4' | xxd -r -p | xxd -b | awk '{print $2}'
```
输出结果为:
```
10100001101100101100001111010100
```
相关问题
shell 进制转换
在Linux Shell中,可以使用echo命令和bc命令进行进制转换。
1. 各种进制转换为十进制:
- 为变量赋值:((var=base#number))
- 显示变量:echo $var
例如,要将十六进制0xff10转换为十进制,可以使用 ((i=16#ff10)); echo $i;
2. 十进制转换为其他进制:
- 利用bc计算器:echo "obase=进制;值" | bc
例如,要将十进制数65536转换为十六进制,可以使用 echo "obase=16;65536" | bc。
另外,在shell脚本中,默认使用十进制数处理,除非数字以某种特殊的标记法或前缀开头,才可以表示其他进制类型的数值。例如,以0开头表示八进制。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [linux shell 下各种进制数据转换。](https://blog.csdn.net/hejinjing_tom_com/article/details/12650417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [shell命令进制转换](https://blog.csdn.net/w727655308/article/details/126430484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Shell脚本中不同进制数据转换的例子(二进制、八进制、十六进制、base64)](https://download.csdn.net/download/weixin_38602189/14892142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文