我需要获取 Linux 系统上复合文件的根目录。为此,我尝试使用 7zip (p7zip-full),因为此工具可以读取复合文件格式。
这基本上很有效,但它输出的是可怕的可解析文本。
因此,我向社区提出的问题是,是否有机会很好地解析此输出以获得如下输出:
- IPC_0805_CHIP_CAP
- 文件头
- 图书馆
- 表格
- DO-214AA
- ...
?
我需要在 php 脚本中获取此信息。因此,最后将从 php 脚本执行该命令。如果有机会直接使用 php 读取复合文件结构,我将不胜感激。
谢谢
答案1
那里有一些输出,7z 似乎没有太多格式选项。我不想只尝试 grep,但 head、tail 和 cut 的组合应该足以输出文件名,类似的 cut 应该适用于其他信息,tee
进程替换 ( <()
) 可能会有所帮助。或者只是用 php 按字符剪切每一行(我对它不够熟悉)。
我的 7zr 版本在开头有 18 行非文件名信息,在结尾有 2 行,每行开头有 54 个非文件名字符,如果您的版本不同,请进行调整:
$ 7zr l test.7z |tail -n+18|head -n-2|cut -c54-
file1
file2
file3