我有一个满是CSV的目录,其中有日期,但我想计算所有文件中与记录相关联的所有唯一时间戳,但问题是这些记录可以在文件中重复,因此出现了问题.例如,我有一个FILE_1,它有两列,一个是id,一个是时间戳,我想计算每个月的所有唯一记录.
我已经使用这个命令grep -E "2022-11-*" 2022-10* | wc -l
搜索了所有10月份的文件,以查看11月份的日期,但我得到的比我预期的要多,因为这些记录可以复制.有没有办法做到这一点.以下是一些可能会有帮助的样本数据.
id | timestamp |
---|---|
1 | 2022-10-04 16:02:02.000 |
2 | 2022-10-04 13:02:02.000 |
然后在下一个文件中
id | timestamp |
---|---|
1 | 2022-10-04 16:02:02.000 |
3 | 2022-10-04 1:02:02.000 |
因此,基于这两个文件,我将返回唯一的一组3,而不是4.
为了补充这个问题,我在我的计算机上创建了两个测试文件来测试一些答案.我得到了这个
grep -E "2022-11-*" 2022-* | sort |
uniq -c
1 2022-11-01.csv:1, 2022-11-17 21:09:56.000
1 2022-11-01.csv:2, 2022-11-17 03:09:56.000
1 2022-11-01.csv:3, 2022-11-09 01:10:54.000
1 2022-11-02.csv:1, 2022-11-17 21:09:56.000
1 2022-11-02.csv:2, 2022-11-17 03:09:56.000
1 2022-11-02.csv:3, 2022-11-09 01:10:54.000
正如您所看到的,有两个文件,但每个文件中有3条记录是重复的,所以我应该只得到3条作为响应.所以我不确定我错过了什么.