加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

输出文件,每行一个字节,十六进制格式(在linux bash下)

发布时间:2020-12-14 01:35:27 所属栏目:Linux 来源:网络整理
导读:正如标题所说,这是一个例子: $cat test.txt ABCD$hd test.txt 00000000 41 42 43 44 0a |ABCD.|00000005 我想要的输出是: 41424344 我知道这可以用sed,awk和stuff,但对于大文件来说这可能会非常慢.我想到了“hexdump”的格式字符串或“od”的参数组合.你能
正如标题所说,这是一个例子:

$cat test.txt 
ABCD
$hd test.txt 
00000000  41 42 43 44 0a                                    |ABCD.|
00000005

我想要的输出是:

41
42
43
44

我知道这可以用sed,awk和stuff,但对于大文件来说这可能会非常慢.我想到了“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个字节(对于类似hd的输出使用-tx1z)
> -w1:最大宽度:1

关于od的一个好处是它可以在任何* x系统上使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读