我需要在文件.txt中使用grep查找一堆名称,例如clientLogin=a@yahoo.com
,clientLogin=b@gmail.com
。
file.txt 中有垃圾,其中包括 email=a@yahoo.com email=b@gmail.com
。我需要将它们过滤掉。
一旦我得到这些行,我需要使用grep查找gmail和yahoo并获取它们的计数。
List l = new ArrayList{a@yahoo.com, b@gmail.com}
def gmail = [ sh , -c , grep "clientLogin="$l.get(0) file.txt | grep gmail | wc -l ]
def yahoo = [ sh , -c , grep "clientLogin="$l.get(1) file.txt | grep yahoo| wc -l ]
这个不起作用。我该如何动态替换 $l.get(1) 的值?
the problem is that ${l.get(0)} has to be inside the " ", i.e.:
def gmail = [ sh , -c , grep "clientLogin=${l.get(0)}" file.txt | grep gmail | wc -l ]
以便它看起来像:
def gmail = [ sh , -c , grep "clientLogin=a@yahoo.com" file.txt | grep gmail | wc -l ]
但是clientLogin=${l.get(0)}
没有产生结果。我不确定我哪里出错了。
谢谢你的建议,但是它没有产生结果,至少在我尝试的时候。
file.txt 里有很多垃圾和某种模式,类似于:
Into the domain clientLogin=a@yahoo.com exit on 12/01/2008 etc..
因此我这么做。
def ex = [ sh , -c , grep "domain clientLogin=$client" file.txt | grep "something more" | wc -l]
这样我就可以随心所欲地链接grep,最终得到我需要的数量。
我不确定如果我使用能否链接 greps。
def ex = [ grep , "$client", file.txt ]
谢谢你的意见。