以 hexdump 格式转义百分号 (%)
Escape percent sign (%) in hexdump format
问题
我正在尝试发出一个十六进制字符串,例如:
echo hello | hexdump -ve '/1 "_%02X"' ; echo
但用 %
代替。
实际与预期
echo hello | hexdump -ve '/1 "%%%02X"' ; echo
失败
hexdump: bad conversion character %%
问题
有什么方法可以转义 hexdump 格式字符串中的 %
吗?
我看不出有什么方法可以让 hexdump
直接发出 '%' 字符。也许您可以继续发出 '_' 字符,然后通过 sed
将结果通过管道传输以将 '_' 转换为 '%'。像这样:
echo hello | hexdump -ve '/1 "_%02X"' | sed -e 's/_/%/g'
产生:
%68%65%6C%6C%6F%0A
问题
我正在尝试发出一个十六进制字符串,例如:
echo hello | hexdump -ve '/1 "_%02X"' ; echo
但用 %
代替。
实际与预期
echo hello | hexdump -ve '/1 "%%%02X"' ; echo
失败
hexdump: bad conversion character %%
问题
有什么方法可以转义 hexdump 格式字符串中的 %
吗?
我看不出有什么方法可以让 hexdump
直接发出 '%' 字符。也许您可以继续发出 '_' 字符,然后通过 sed
将结果通过管道传输以将 '_' 转换为 '%'。像这样:
echo hello | hexdump -ve '/1 "_%02X"' | sed -e 's/_/%/g'
产生:
%68%65%6C%6C%6F%0A