Keep only X lines from tail of text file, trim off the remainder
String fName = "X:\\file_cache.temp"
String bakupFileExt = ".bak.${(new Date().format('yyyyMMdd_hhmmss'))}" // if blank, file will be overwritten!
int keepLines = 100000
File oldF
List lines
try {
oldF = new File(fName)
lines = oldF.readLines()
//println lines.size()
}
catch (Exception e) { println "ERROR: Cannot open file $fName\n$e"; return }
int startI = lines.size() - keepLines
lines = lines[startI..-1]
//println lines.size()
if (bakupFileExt) {
oldF.renameTo(fName+bakupFileExt)
}
File newF = new File(fName)
newF << lines.join('\r')
return "DONE"