请问如何按符合时间和条件比较列的数值
可请移步用源文件测
https://wwkt.lanzoul.com/iRSCa181yj6f- 1.txt
- 1 Jun 10, 2023 08:39:51.019462000 时间 1 1 6f89b2a23d
- 2 Jun 10, 2023 08:39:51.021000000 时间 1 2 6f89b2a23d47
- 3 Jun 10, 2023 08:39:51.029190000 时间 1 3 6f89b2a23d4701b
- 4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabcf
- 5 Jun 10, 2023 08:39:51.898038000 时间 2 5 bb5c43db737f41842ec
- 6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:51.900620000 时间 3 7 6f89b2a23d4701b8eebabc9
- 8 Jun 10, 2023 08:39:51.900620000 时间 3 8 6f89b2a23d4701
- 9 Jun 10, 2023 08:39:51.902646000 时间 4 9 00
- 10 Jun 10, 2023 08:40:01.081414000 时间 5 10 6f8
- 11 Jun 10, 2023 08:40:01.082950000 时间 6 11 6f89b
- 12 Jun 10, 2023 08:40:01.084486000 时间 7 12 6f
- 13 Jun 10, 2023 08:40:01.086022000 时间 0 13 6f89
-
- 4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabcf
- 6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:51.900620000 时间 3 7 6f89b2a23d4701b8eebabcf
- 9 Jun 10, 2023 08:39:51.902646000 时间 9 9 00
-
- 2.txt
- 4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabc0
- 6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:51.900620000 时间 3 7 6f89b2a23d4701b8eebabcf
- 9 Jun 10, 2023 08:39:51.902646000 时间 9 9 00
-
-
- 3.txt
- 4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabc1
- 6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:55.900620000 时间 3 7 6f89b2a23d4701b8eebabc0
- 9 Jun 10, 2023 08:39:51.902646000 时间 9 9 00
-
- 5.txt
- 4 Jun 10, 2023 08:39:51.030724000 时间 3 4 6f89b2a23d4701b8eebabc0
- 6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:51.900620000 时间 1 7 6f89b2a23d4701b8eebabcf
- 9 Jun 10, 2023 08:39:51.902646000 时间 9 9 00
-
- 6.txt
- 4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabc0
- 6 Jun 10, 2023 08:39:51.898038000 时间 0 6 bb5c43db737f41
- 7 Jun 10, 2023 08:39:51.900620000 时间 3 7 6f89b2a23d4701b8eebabcf
- 9 Jun 10, 2023 08:39:51.902646000 时间 9 9 00
复制代码 检查后得到这些文本名称结果
>out.txt
1.txt
2.txt
请 批量检查100多个类似文件
if 将 Tab "\t" 视作分隔符, 如果第3列 上 中 下 连续有 1|2|3 数字情况, 中间必须至少有一个有2,中间没有2跳过,则检查第2列的时间从最近的数值"1"行 , 至到数值"3" 的行时间是否在2秒之内,如果符合,则检查这2行数值"1"和数值"3"的行的第5列数值是否相同,如果检查到不相同,则需要输出记录该文件名称,
第3列中这种上 中 下有 1|2|3 数字排列是可能有很多行,也可能仅有2行或3行情况,只取距离最近数值"1"行和有数值"3"行的第5列数值比较是否相同就行, 但他们中间必须至少有一个有2 否则条件不符合
时间精确到秒就行, 当然能精确计算到纳秒也行
符合的3个条件:
如果第3列符合条件: 其上 中 下行, 顺序必须有 1|2|3 , 中间可以有连续多个2的行, 但不能是其他数字, 但不能是其他数字
如果数值"1"行至到数值"3" 的行时间符合在2秒内, 秒的数字最好可手动更改
如果都符合以上条件, 则需要检查数值"1"和数值"3"的这2行的第5列数值是否相同,如果检查到不相同,则需要输出记录该文件名称,
All is UTF-8编码文本
bat ps1 shell 都行 Thanks
深入补充一些有助于理解说明
按第2列的时间是否符合和第3列条件是否符合, 从而比较第5列的数值是否相同
如果第3列条件符合: 即可以匹配其上 中 下行, 顺序是有 1,2,3数字, 中间可以有连续多个2的行, 但不能是其他数字
如果第3列数值"1"行至到数值"3" 的行时间符合在2秒内, 秒的数字最好可手动更改
如果都符合以上条件, 则需要检查数值"1"和数值"3"的这2行的第5列数值是否相同,如果检查到不相同,则需要输出记录该文件名称
像这样的第2列时间, 第3列数值, 1到3之中只有2 或多个2都行, 他们条件都符合, 他们对应的第5列数值也不同,
第3列 如果有连续发生多个"1"和多个"3" 的行情况, 取距离最近的数值"1"和数值"3" 的行来处理计算为准
1.txt
1 Jun 10, 2023 08:39:51.019462000 时间 1 1 6f89b2a23d
2 Jun 10, 2023 08:39:51.021000000 时间 1 2 6f89b2a23d47
3 Jun 10, 2023 08:39:51.029190000 时间 1 3 6f89b2a23d4701b
4 Jun 10, 2023 08:39:51.030724000 时间 1 4 6f89b2a23d4701b8eebabcf
5 Jun 10, 2023 08:39:51.898038000 时间 2 5 bb5c43db737f41842ec
6 Jun 10, 2023 08:39:51.898038000 时间 2 6 bb5c43db737f41
7 Jun 10, 2023 08:39:51.900620000 时间 3 7 6f89b2a23d4701b8eebabc9
8 Jun 10, 2023 08:39:51.900620000 时间 3 8 6f89b2a23d4701
9 Jun 10, 2023 08:39:51.902646000 时间 4 9 00
10 Jun 10, 2023 08:40:01.081414000 时间 5 10 6f8
11 Jun 10, 2023 08:40:01.082950000 时间 6 11 6f89b
12 Jun 10, 2023 08:40:01.084486000 时间 7 12 6f
13 Jun 10, 2023 08:40:01.086022000 时间 0 13 6f89
所以该文件应在输出文件中标注
>out.txt
1.txt |