Skip lines with transformLine
I am wondering if there any way I am missing of skipping lines when using transformLine?
The last line in the closure is the line value written. Looking at a SSCCE, we have file1.txt with 4 lines:
line1
line2
line11
line22
I want to produce the file2.txt with 2 lines:
line1
line11
import java.util.regex.Matcher
import java.io.Reader
import java.io.Writer
def file1 = /C:\Workspace\Test\file1.txt/
def file2 = /C:\Workspace\Test\file2.txt/
def writeLine
FileWriter writeFile = new FileWriter(file2)
new FileReader(file1).transformLine(writeFile) { line ->
Matcher m1 = line =~ /line1\d*/
writeLine = ''
if (m1.matches()) {
writeLine = line
}
writeLine
}
will give:
line1
<blank line>
line11
<blank line>
I could then reprocess the field to remove blank lines, but it would be great if there was a way of skipping lines with transformLine.