Допустим, у меня есть текстовый файл, который выглядит следующим образом (включая часть filename matches
):
filename matches
bugs.txt 5
bugs.txt 3
bugs.txt 12
fish.txt 4
fish.txt 67
birds.txt 34
и т.д ...
Я хочу создать новый текстовый файл, каждая строка которого представляет собой одно имя файла со следующей информацией: filename, number of times filename appears, sum of matches
поэтому первые три строки будут читать:
bugs.txt 3 20
fish.txt 2 71
birds.txt 1 34
первая строка оригинального текстового файла (который содержит текст filename /t matches
, затрудняет мне работу. Любой совет?
Вот мой код, который не совсем справляется (с одной ошибкой ...):
h = null
instances = 0
matches = 0
f.eachLine { line ->
String[] data = line.split (/\t/)
if (line =~ /filename.*/) {}
else {
source = data[0]
if ( source == h) {
instances ++
matches = matches + data[9]
}
else {
println h + '\t' + instances + '\t' + matches
instances = 0
matches = 0
h = source
}
}
}
примечание: индексы для данных [] соответствуют текстовому файлу, который я использую