You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文件中符合特定格式的十进制数批量转换为十六进制

分号分隔十进制数批量转两位大写十六进制方案

方案1:awk 通用实现(兼容每行任意数量字段)

直接通过awk指定分号为输入输出分隔符,遍历每个字段做格式转换即可,命令如下:

awk 'BEGIN{FS=OFS=";"} {for(i=1;i<=NF;i++) $i=sprintf("%02X", $i)} 1' 目标文件名

参数说明:

  • BEGIN{FS=OFS=";"}:预先设置输入字段分隔符(FS)和输出字段分隔符(OFS)都为分号
  • for(i=1;i<=NF;i++) $i=sprintf("%02X", $i):遍历当前行的每个字段,将十进制值格式化为两位大写十六进制,不足两位自动补前导0
  • 末尾的1是awk的简写语法,代表处理完成后输出整行内容

方案2:bash 循环+printf 实现(适合固定每行3个字段的场景)

如果你的文件格式固定每行都是3个分号分隔的数值,也可以直接用bash循环搭配你熟悉的printf命令实现:

while IFS=';' read -r n1 n2 n3; do
    printf '%02X;%02X;%02X\n' "$n1" "$n2" "$n3"
done < 目标文件名

两种方案执行后都会直接输出符合预期的转换结果,如果需要保存到新文件,在命令末尾加> 新文件名即可。

内容的提问来源于stack exchange,提问作者M-Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:45:04