You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用unzip与grep管道查询epub中opf文件时如何显示文件名

解决方案

方法1:循环遍历逐个处理(通用兼容)

直接用Shell循环遍历所有epub文件,只提取其中的opf文件内容进行搜索,同时标记来源文件名:

for epub in *.epub; do
  unzip -p "$epub" '*.opf' | grep -a -H --label="$epub" 'dc:date'
done
  • unzip -p:直接将epub内的opf文件内容输出到标准输出,不生成临时文件
  • grep --label="$epub":把标准输入的内容标记为当前epub文件名,配合-H就能显示对应的epub文件
  • -a:强制将文件当作文本处理,避免二进制识别问题

方法2:使用zipgrep工具(更简洁)

如果系统自带zipgrep(多数Linux发行版、macOS默认包含),可以直接用它搜索压缩包内的指定文件,自带文件名显示:

zipgrep -a 'dc:date' *.epub '*.opf'
  • -a:将压缩包内的文件视为文本处理
  • *.opf:限定只搜索epub内的opf格式文件,避免无关文件干扰

内容的提问来源于stack exchange,提问作者user21100580

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:20:00