问题背景
1、收集一份BMC一键日志到windows
2、解压后使用vscode打开
3、全局或者在文件夹./dump_info/LogDump/下检索关键字,存在两种问题情况
关键字只在文件0x00字节后面出现,则完全检索不到
举例在./dump_info/LogDump/linux_kernel_log检索I2C-05-RT,显示完全没有
打开linux_kernel_log后文件以文本形式打开,可以检索到结果
关键字在文件0x00字节前后都有出现,则只能检索到前面部分结果
未打开app.log.1之前全局检索显示465个结果,打开后对单个文件检索实际含有1389个结果
问题分析
vscode使用rg也就是ripgrep作为内置检索工具,但无论ripgrep还是grep遇到0x00(NUL)默认都不会继续输出匹配结果,除非添加-a选项
对一键日志全部文本文件分析后发现有大量文件都含有NUL字节
AppDump\fault_diagnosis\fdm_output
AppDump\general_hardware\mcu_txt_dump
AppDump\general_hardware\mcu_txt_dump.1
AppDump\rmcpd\rmcpd_dumpinfo
LogDump\bmc_health.log
LogDump\journalctl.log
LogDump\journalctl.log.1
LogDump\linux_kernel_log.log
LogDump\linux_kernel_log.1
LogDump\linux_kernel_log.2
LogDump\maintenance.log
LogDump\operation.log
LogDump\security.log
LogDump\app.log.1.gz::app.log.1
LogDump\app.log.2.gz::app.log.2
LogDump\app.log.3.gz::app.log.3
LogDump\app.log.4.gz::app.log.4
LogDump\app.log.5.gz::app.log.5
LogDump\app.log.7.gz::app.log.7
LogDump\app.log.8.gz::app.log.8
LogDump\cooling_control.log.2.gz::cooling_control.log.2
LogDump\cooling_control.log.3.gz::cooling_control.log.3
LogDump\cooling_control.log.4.gz::cooling_control.log.4
LogDump\framework.log.2.gz::framework.log.2
LogDump\framework.log.5.gz::framework.log.5



