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

Linux目录中基于issue_date统计唯一证书数量(处理重复项)

高效处理压缩CSV文件的唯一证书统计方案

命令行本地处理方案

你的原命令仅做了行数统计,未处理跨文件重复的证书。要实现目标,核心是先提取指定issue_date对应的唯一证书标识(cert_id+serial),再统计去重后的数量,以下是两种实用方案:

方案1:用awk内存去重(速度最快,适合证书数量不超内存的场景)

假设CSV以逗号分隔,issue_date是第1列,cert_id是第2列,serial是第3列,执行:

# .gz文件用zcat,若.gmz是gzip变种,替换为gzip -dc
zcat *2023-05-11*.gz | awk -F ',' '$1 == "2023-05-11" {key=$2","$3; seen[key]} END {print length(seen)}'
  • 逻辑:用awk数组seen存储所有符合条件的证书唯一标识(cert_id+serial拼接),自动去重,最后输出数组长度即为唯一证书数
  • 注意:根据实际CSV列位置修改$1/$2/$3,分隔符不是逗号就调整-F参数

方案2:用sort+uniq磁盘去重(适合超大文件、内存不足的场景)

如果证书数量极大,awk内存占用过高,改用磁盘临时文件处理:

zcat *2023-05-11*.gz | awk -F ',' '$1 == "2023-05-11" {print $2","$3}' | sort -u | wc -l
  • 逻辑:先提取目标证书标识,用sort -u去重,再统计行数
  • 缺点:速度比awk慢,但内存压力小

是否调用数据源API更合适?

分场景判断:

  • 优先选API的情况:
    • 数据源API支持直接按issue_date返回唯一证书统计结果,无需处理原始文件
    • 需要定期执行统计,API能提供实时/最新数据,不用维护本地文件备份
    • 本地文件体积超大,下载、存储成本高
  • 适合本地处理的情况:
    • 无可用数据源API,或API不支持该统计需求
    • 必须基于本地离线备份文件统计
    • API有调用频率、数据量限制,无法满足批量日期统计需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:30:18