2017-09-18 1 views
0

Ich möchte Wörter in Datei von path grep. Wie geht das auf groovige Art und Weise? Wie zählen, wie viele Wörter finde ich jede Datei?Groovy Grep Wörter in Datei

import groovy.io.FileType 

def splitStatements() { 
    String path = "C:\\Users\\John\\test" 
    def result = new AntBuilder().fileset(dir: path) { 
      containsregexp expression:['END','BEGIN'] 
    }*.file 
println result 
} 
splitStatements() 

Antwort

0

Das tut es das, was ich will:

def wordCount_END = 0 
    def wordCount_BEGIN = 0 
    def dir = new File("C:\\Users\\John\\test") 

dir.eachFileRecurse (FileType.FILES) { file -> 
    Scanner s = new Scanner(file) 
    while (s.hasNext()) { 
     if (s.next().equals('BEGIN')) wordCount_END++ 
     } 
    }  
dir.eachFileRecurse (FileType.FILES) { file -> 
    Scanner s = new Scanner(file) 
    while (s.hasNext()) { 
     if (s.next().equals('END')) wordCount_BEGIN++  
     } 


} 
      println("END count per lock: " + wordCount_END) 
      println("BEGIN count per lock: " + wordCount_BEGIN)  

}