所以,我得到了文本文件,它基本上包含键/值行,每行由空格分隔。 我正在尝试实现的是通过密钥提取值,例如。在shell中做的事情是这样的:
cat textfile|awk '/item1/ {print $2}'
并且在groovy中就是这样的东西:
aa = """
item1 /first/path
item2 /another/path
"""
aa.eachLine {
m = it =~ /item1\s+(.*)/
if (m.matches()) {
println m.group(1)
}
}
但问题是:如何以更好/更Groovy的方式做到这一点?
问候,Wojtek
答案 0 :(得分:0)
我会这样做:
aa.split( '\n' ).each {
def p = it.split(' ')
if (p.size() == 2) println p[1]
}
或者,使用实际文件并允许许多空格:
new File( 'file.txt' ).eachLine {
def p = it.split(/\s+/)
if (p.size() == 2) println p[1]
}