【发布时间】:2021-08-24 11:15:13
【问题描述】:
我有 UUID,3abbea88-c77d-11eb-b8bc-0242ac130003,我想获取该字符串的前 16 个字符,并希望使用 shell 脚本的前 16 个字符的十六进制字符串。
我试过了,
code=$(echo -n ${${ID##*:}:0:16} | od -A n -t x1)
HEX_ID=$(echo ${code//[[:blank:]]/})
还有更好的方法吗?
预期输出:33616262656138382d633737642d3131
【问题讨论】:
-
你为什么要
${##*:}? -
这段代码将抓取连字符 (
-) 并获取它们的十六进制代码,从而产生一些2d条目,这是您想要的吗?还是您想清除它们并只保留“前 16 个相关字符”? -
${ID##*:}看起来您的 UUID 前面有一些您没有在问题中显示的文本。请编辑您的问题以保持一致。