我想看到的是:
$ printf "\U1F600\n"|hexdump -v -e '1/1 " %03o"'|tr ' ' '\\'
\360\237\230\200\012我试过的是:
$ printf "\U1F600\n"|hexdump -v -e '1/1 "\\%03o"'
hexdump: bad conversion character %�
$ printf "\U1F600\n"|hexdump -v -e '1/1 "\%03o"'
hexdump: bad conversion character %%
$ printf "\U1F600\n"|hexdump -v -e '1/1 "\\\%03o"'
hexdump: bad conversion character %\
$ printf "\U1F600\n"|hexdump -v -e '1/1 "\\\\%03o"'
\\\\360\\\\237\\\\230\\\\200\\\\12发布于 2018-09-06 14:52:01
基于hexdump手册页中的此示例:
# hex with preceding 'x' % echo hello | hexdump -v -e '"x" 1/1 "%02X" " "' ; echo x68 x65 x6C x6C x6F x0A
看来你可以使用-e '"\\" 1/1 "%03o" '
例如。
$ echo hello | hexdump -v -e '"\\" 1/1 "%03o" ' ; echo
\150\145\154\154\157\012https://unix.stackexchange.com/questions/467310
复制相似问题