def number = /\W+(\d+)/ def eintraege = [] new File('weather.dat').text.eachMatch(/(?m)^${number * 3}.*/){ all, tag, max, min -> def spread = max.toInteger() - min.toInteger() eintraege << [tag, spread, min, max] } eintraege .sort{ it[1] } .each{ println String.format('Tag:%3s Spread:%3s Min:%3s Max:%3s', it*.toString().toArray()) }