Skip to content

输出选项

📤 控制结果写往何处:JSONL/CSV/控制台。

标志

标志默认说明
--write-jsonlfalse写 JSONL
--jsonl-fileresults.jsonlJSONL 文件路径
--write-csvfalse写 CSV
--csv-fileresults.csvCSV 文件路径
--write-stdouttrue输出到控制台

示例

bash
# JSONL
snir scan example.com --write-jsonl

# CSV
snir scan example.com --write-csv

# 多个同时
snir scan file -f urls.txt \
  --write-jsonl --jsonl-file out.jsonl \
  --write-csv --csv-file out.csv \
  --write-stdout=false

# 自定义路径
snir scan example.com --write-jsonl --jsonl-file /data/scan.jsonl

各格式特点

Result 产出后被分发给各 Writer、最终落盘为不同格式的状态流转:

格式特点适合
JSONL流式、每行一条 JSON、追加友好管线、jq 处理
CSV表格、扁平Excel、BI
Stdout实时控制台调试、脚本捕获

JSONL 示例

每行一个完整 Result JSON:

bash
snir scan file -f urls.txt --write-jsonl --write-stdout=false
jq -c 'select(.failed == true)' results.jsonl   # 看失败
jq -c '{url, title, code: .response_code}' results.jsonl

CSV 注意

CSV 会丢嵌套结构

CSV 是扁平表格,headers/network/cookies/console 这类嵌套证据会被序列化为字符串或省略

  • ✅ 只要 URL/标题/状态码等标量字段 → 用 CSV,Excel 友好
  • ❌ 需要完整证据 → 用 JSONL(流式)或 SQLite(结构化可查询)

与数据库区别

文件 vs 数据库,可同时启用

  • --write-jsonl / --write-csv文件输出,适合一次性产物、管线处理
  • --dbSQLite 结构化存储,适合跨次累积、SQL 查询、关联分析

两者不互斥,可同时启用——Result 会被分发给所有 Writer,写多份各取所需。

下一步

基于 MIT 许可发布