2009/02/10

GroovyでOS独自のコマンドをパイプしてみる。

javaのポリシーからは脱線してしまうが、OSのコマンドをパイプしてみる。

ホームディレクトリの中のテキストファイルをピックアップしてみる。僕のWindowsPCにはcygwinがインストールされているので、cygwinのコマンドを実行してみる。

def bin = "C:/cygwin/bin"
def p1 = "${bin}/ls.exe -lta ~/".execute()
def p2 = "${bin}/grep.exe txt".execute()
println((p1 | p2).text)

このぐらいであれば

new File(path).listFiles().findAll{ it.name =~ /.+\.txt/ }.each{
    println it.name
}

と記述したほうがはるかにいいと思うがそこはおいておいて。

diff実行→差分を整形してレポートへ、とかできるのは魅力的。

面白いのは、

Processクラスインスタンス |  Processクラスインスタンス

にて、新しいプロセスが取得されること。これは面白い。

0 件のコメント:

コメントを投稿