我正在尝试发出一个十六进制字符串,例如:
echo hello | hexdump -ve '/1 "_%02X"' ; echo
但使用%
代替。
echo hello | hexdump -ve '/1 "%%%02X"' ; echo
失败
hexdump: bad conversion character %%
有没有办法以十六进制转储格式的字符串转义%
?
我看不到有任何方法可以使hexdump
直接发出'%'字符。也许您可以继续发出'_'字符,然后将结果通过sed
传递给[_]转换为'%'。像这样的东西:
echo hello | hexdump -ve '/1 "_%02X"' | sed -e 's/_/%/g'
产生:
%68%65%6C%6C%6F%0A