Hi Peter , the simplest way I see, need to transverse the all file, using a processor property. Ex: N_lines (number of Lines to Strip on file)
import java.nio.charset.StandardCharsets //Read the flowFile def flowFile = session.get() if (!flowFile) return //Read Processor property def nLinesToStrip=N_lines.value.toInteger() // Number of Lines to Strip //Read flowFile and Write a new one without the first nLinesToStrip def counter=0 try { flowFile = session.write(flowFile, {inputStream, outputStream -> inputStream.eachLine { line -> counter++ if (counter > nLinesToStrip) { outputStream.write("${line}\n".getBytes(StandardCharsets.UTF_8)) } } } as StreamCallback) session.transfer(flowFile, REL_SUCCESS) } catch(Exception e) { log.error(e) session.transfer(flowFile, REL_FAILURE) } For better understanding how to build ExecuteScripts, in Groovy I recommend the blog : funnifi.blogspot.com from Matt Burgess<https://plus.google.com/u/0/116659654929723949312?prsrc=4>. Thanks Matt. Carlos From: Pierre Villard [mailto:pierre.villard...@gmail.com] Sent: quarta-feira, 28 de Setembro de 2016 12:04 To: users@nifi.apache.org Subject: Re: Remove top N lines from a text file Hi Peter, I would recommend you the following blog by Matt: http://funnifi.blogspot.fr/2016/02/executescript-processor-replacing-flow.html Pierre 2016-09-28 13:01 GMT+02:00 Andrew Grande <apere...@gmail.com<mailto:apere...@gmail.com>>: Groovy script or a simple sed command invoked via ExecuteStreamingCommand should do the job. Andrew On Wed, Sep 28, 2016, 12:18 AM Peter Wicks (pwicks) <pwi...@micron.com<mailto:pwi...@micron.com>> wrote: I have a CSV file where the first few lines are a summary of the report parameters that were used to generate it. I want to strip these off in NiFi. I’ve considered using a RegEx to match the {N} top lines, but am wondering of a Groovy script might be a better option? I want to keep the file intact, so splitting it by line ending and routing all of the lines through a RouteByAttribute seems excessive. I’ve never built a Groovy script, any examples on how I might go about this? Thanks, Peter