linux文件格式ASCII变data无法正常查看

异常文件:
在这里插入图片描述
正常文件:
在这里插入图片描述
异常文件 tail可读,cat、more、head显示有问题,应该是文件前面出现问题
在这里插入图片描述
grep无法正常搜索,grep -a可正常搜索

sed -n ‘2,4p’ content_sync_err.log 正常,说明是首行有问题,单独将首行导出有5百多M,具体什么原因造成的还不知道

Linux系统中查看二进制格式的日志文件通常需要借助一些专门的工具,因为普通的文本编辑器无法直接解析和显示其内容。以下是几种常见的处理方式: 1. **使用`xxd`命令** `xxd`是一个十六进制转储工具,可以将二进制数据转换成易于理解的十六进制表示形式。例如: ```bash xxd logfile.bin ``` 这条命令会将日志文件的内容以十六进制和ASCII码的形式展示出来。 2. **使用`od`命令** `od`(octal dump)也是一个用于查看非文本文件的强大工具,它可以生成八进制、十进制或十六进制等不同格式的数据视图。示例: ```bash od -t x1z logfile.bin ``` 其中 `-t x1z` 表示按字节输出十六进制值,并尝试解释为字符串。 3. **特定程序支持** 某些类型的日志可能会附带专用分析软件或者库函数来解码它们的具体结构。比如syslog-ng就提供了一个叫作“reader”的模块读取存储于数据库或其他地方的消息记录;而Apache HTTP Server则有自己的错误及访问日志解析脚本等等。 4. **Python脚本自定义解析** 如果以上方法都不满足需求,则可以编写简单的Python脚本来完成任务。利用struct标准库能够方便地操作固定长度的数据块。 ```python import struct with open('logfile.bin', 'rb') as f: data = f.read(8) # 假设每条信息都是八个字节长 while len(data)==8: fields = struct.unpack('<q',data)[0]# 根据实际格式调整unpack参数如i,d,f,q,s等 print(fields) data=f.read(8) ``` 通过上述手段之一即可成功解读大多数复杂的二进制日志文档了!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值