Monthly Archives: March 2008

Groovy – Process#pipeTo und Operator Overloading

Operator Overloading ist eine feine Sache. Groovy erweitert z.B. die Klasse java.lang.Process um die Methode "or(Process right)". "or" wird in Groovy auf den Operator "|" gemappt. Dadurch kann man die Ausgabe eines Prozesses zu einem anderen "pipen" test.groovy:
#!/usr/bin/env groovy
def p1 = "ls -al".<a href="http://groovy.codehaus.org/groovy-jdk/java/lang/String.html#execute()">execute</a>()
def p2 = "grep test".execute()
<strong>p1 | p2</strong>
p2.<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html#waitFor()">waitFor</a>()
println p2.<a href="http://groovy.codehaus.org/groovy-jdk/java/lang/Process.html#getText()">text</a>