时间线去重的组合键方法
多源时间线合并后会出现大量看似重复的行,但它们的来源与语义未必相同。可行做法是先按时间加对象加描述生成组合键并统计条数,再人工判定哪些是同一次采集造成的重复、哪些是不同来源对同一动作的独立记录。后者不是噪声,而是互相印证,删除它等于主动削弱结论的证据强度。
基本信息
| 组合键 | 时间 + 对象(文件、进程、账号)+ 描述 |
|---|---|
| 真重复 | 同一次采集被重复执行,或同一文件被解析两次 |
| 伪重复 | 不同来源对同一动作的视角差异,属增强证据 |
| 处理顺序 | 先按来源分组统计,再合并语义相同的行 |
| 留痕要求 | 去重规则、保留行数与容差取值写进分析说明 |
典型使用场景
- 合并 Linux 与 Windows 侧日志后清理重复条目
- 判断同一事件被三处记录属于冗余还是互证
- 统计高频事件,识别时间线上的明显聚集时段
- 交付前压缩时间线长度,让阅读者看到的是事件而非行数
- 复核去重规则,确认没有误删独立来源的记录
组合键统计
组合键统计
awk -F, '{print $1"|"$4"|"$5}' merged.csv | sort | uniq -c | sort -rn | head -20 # 按三字段生成组合键
sort merged.csv | uniq -c | sort -rn | head -20 # 整行完全一致的重复
awk -F, '{print $6}' merged.csv | sort | uniq -c | sort -rn # 按来源列统计分布
head -1 merged.csv; wc -l merged.csv # 先确认列名含义与总行数重复类型与处理
| 类型 | 成因 | 处理方式 |
|---|---|---|
| 完全重复 | 同一文件被解析两次或采集脚本重复执行 | 整行去重,保留一份并记录条数 |
| 来源内重复 | 同一工具对同一对象输出多行 | 按对象与时间合并,注明原始条数 |
| 跨来源印证 | 不同来源记录同一动作 | 全部保留,用于说明证据强度 |
| 时间近似 | 采集精度不同造成秒级偏差 | 按容差合并,写明容差取值 |
去重前先看来源列:两条来自不同来源、时间与对象都一致的记录,正说明该事实被相互印证,直接删掉会削弱整条结论的支撑,这类条目应当保留并标注来源数量。
对时间做容差合并时,要把容差值与判定条件写进分析记录,否则接收方无法复现合并过程,同一份数据换人处理会得到不同长度、不同结论的时间线。