groovy 检查多个文件中的重复行(数据)

avkwfej4  于 2023-01-16  发布在  其他
关注(0)|答案(1)|浏览(116)

我从JMeter响应数据中创建了多个序列号重复的文件。

Duplicate.txt    Duplicate1.txt      Duplicate2.txt Etc.....

C5FV55WGJ1       C5FV55WGJ1
C5FX1N2572       C5FX1N2578
C5G0F54VP3       C5G0F54VP9
C5G77R09C4       C5G77R0910
C5G7L33Y25       C5G7L33Y11
C5G7X7NWY6       C5G7X7NW12
C5FX1N2577       C5FX1N2513

像上面的txt数据文件,我有多个文件在一个目录。现在我想比较所有的。txt文件与每一个。txt文件。
如果发现任何序列号.txt文件重复,则希望在JMeter Groovy JMeter后处理器中创建一个包含序列号和.txt文件的 * 双重重复.txt* 文件。
实验;

Double Duplicate.txt

C5FV55WGJ1 (Duplicate.txt & Duplicate1.txt)
oxiaedzo

oxiaedzo1#

您可以使用以下代码片段:

new File('/path/to/folder/with/your/duplicate/files').listFiles().each { file ->
    List<String> lines = file.readLines()
    new File('/path/to/folder/with/your/duplicate/files').listFiles(new FilenameFilter() {
        @Override
        boolean accept(File dir, String name) {
            return !file.getName().equals(name)
        }
    }).each { otherfile ->
        List<String> otherLines = otherfile.readLines()
        lines.each { line ->
            if (otherLines.contains(line)) {
                new File('Double Duplicate.txt') << line << ' ('<< file.getName() << ' & ' << otherfile.getName() << ')' << System.getProperty('line.separator')
            }
        }
    }
}

更多信息:

相关问题