ingest_archive_tar_preview — TAR 压缩包预览
功能概述
递归扫描目录内 .tar、.tar.gz、.tar.bz2、.tar.xz 文件,列出每个压缩包内部文件清单,对文本文件输出前 N 字节预览(UTF-8 解码失败则输出 hex)。输出 JSON 报告供后续解压或采集流程决策。
触发条件
- 采集入口收到一批 tar 包,需要先查看内容再决定解压策略
- 需要批量盘点 tar 压缩包内的文件结构
核心参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--input_dir |
待扫描目录(递归) | 必填 |
--output |
预览报告输出路径 | 必填 |
--max_entries |
每个压缩包最多列出的文件数,0 表示全部 |
0 |
--preview_bytes |
文本文件预览字节数 | 200 |
使用方法
python scripts/run_ingest_archive_tar_preview.py \
--input_dir <input_dir> \
--output <output> \
--max_entries 0 \
--preview_bytes 200
环境要求
使用 Python 标准库 tarfile,无需额外依赖。
支持的 TAR 变体
| 扩展名 | 模式 |
|---|---|
.tar |
无压缩 |
.tar.gz / .tgz |
gzip |
.tar.bz2 / .tbz2 |
bzip2 |
.tar.xz / .txz |
xz / lzma |