The Groovy command line (groovy or groovy.bat) is the easiest way to start using the Groovy Language.
$ groovy -help usage: groovy -c,--encoding <charset> specify the encoding of the files -e <script> specify a command line script -h,--help usage information -i <extension> modify files in place -n process files line by line -p process files line by line and print result -v,--version display the Groovy and JVM versions -w <port> process socket i/o
If you have a groovy script, you can edit and run the script immediately.
$ cat test.groovy println 'Hello Bonson' $ groovy test.groovy Hello Bonson
However you can also run such a simple groovy program by providing the script in the command line arguments.
$ groovy -e "println 'Hello Bob'" Hello Bob
This may not look useful, but it fits in with the UNIX tradition of chaining simple programs together to build powerful commands. Tools like perl, sed, awk and grep do these jobs very well. But many users have limited experience with these tools' arcane syntax and will be more familiar with Java and therefore Groovy.
$ grep -i ^groov /usr/share/dict/words | groovy -e 'print System.in.text.toUpperCase()' GROOVE GROOVELESS GROOVELIKE GROOVER GROOVERHEAD GROOVINESS GROOVING GROOVY
Because looping through STDIN or input files tends to be a common thing to do, groovy (and ruby, perl etc) provide shortcuts for this. currently broken, groovy not defaulting to STDIN
-n will loop through each line of the input, and provide it to your script in the line variable.
grep -i ^groov /usr/share/dict/words | groovy -n -e 'println line.toUpperCase()'
If we definately want to print the output of each line we can use -p and shorten it to
grep -i ^groov /usr/share/dict/words | groovy -p -e 'line.toUpperCase()'
For more examples or inspiration browse through the search results for Perl One Liners