gpt4 book ai didi

bash - Shell脚本将文件中的十六进制值转换为十进制

转载 作者:行者123 更新时间:2023-12-03 08:03:30 28 4
gpt4 key购买 nike

我有一个名为text的文件,其中包含所有十六进制数字。我编写了以下代码,将这些值转换为十进制:

for line in `cat text`; do

arp=$(echo "ibase=16; $line" | bc);echo $arp
done

但这给了我以下错误:
(standard_in) 1: syntax error

我的输入文件包含一列十六进制值,例如
428a2f98 
71374491
b5c0fbcf

最佳答案

不是bash会产生错误,而是bc,它要求十六进制数字使用大写字母,而输入文件使用小写字母。

如果使用bash 4,则可以使用${foo^^}$foo扩展为大写:

bc <<< "ibase=16; ${line^^}"

或者您可以使用 tr:
bc <<< "ibase=16; $(tr '[:lower:]' '[:upper:]' <<< "${line}")"

关于bash - Shell脚本将文件中的十六进制值转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958920/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com