À l'aide de groovy, comment tuyau de multiples commandes du shell?

À l'aide de Groovy et c'est java.lang.Process l'appui, comment puis-je canal de multiples commandes shell ensemble?

Considérer cette commande bash (et d'assumer votre nom d'utilisateur est foo):

ps aux | grep ' foo' | awk '{print $1}'

Cela permettra d'imprimer les noms d'utilisateur - une ligne de certains processus liés à votre compte d'utilisateur.

À l'aide de Groovy, le ProcessGroovyMethods documentation et le code dit que je devrais être en mesure de le faire pour obtenir le même résultat:

def p = "ps aux".execute() | "grep ' foo'".execute() | "awk '{print $1}'".execute()
p.waitFor()
println p.text

Cependant, je ne peux pas obtenir un texte de sortie pour rien d'autre que ceci:

def p = "ps aux".execute()
p.waitFor()
println p.text

Dès que je commence à la tuyauterie, la println ne pas imprimer n'importe quoi que ce soit.

Pensées?

OriginalL'auteur Les Hazlewood | 2016-02-03