如标题所示,这是一个示例:
$ cat test.txt
ABCD
$ hd test.txt
00000000 41 42 43 44 0a |ABCD.|
00000005
我想要的输出将是:
41
42
43
44
我知道sed,awk和其他东西是可能的,但是对于大文件来说这可能会很慢。我想到了“hexdump”的格式字符串或“od”的参数组合。你能帮我吗?
最佳答案
od -An -vtx1 -w1 test.txt | cut -c2-
如果您不想换行:
od -An -vtx1 -w1 test.txt | cut -c2- | fgrep -v 0a
od
选项的含义:-An
:地址:无-v
:详细,即,不要写*
而不是重复行-tx1
:输出类型:十六进制,1个字节(将-tx1z
用于类似hd
的输出)-w1
:最大宽度:1 关于
od
的一件好事是,它可以在任何*x
系统上使用。关于bash - 输出文件,每行一个字节,十六进制格式(在Linux bash下),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21713725/