думаю, вы просто хотите исключить строки с некоторыми словами из результата.
просто преобразуйте list
в строку, разделенную |
(труба).
поэтому команда оболочки будет выглядеть так:
cat logfile.log | grep 'error|ERROR'| grep -v 'some-exclude|anotherone|yes'
и перехватить стандартный вывод в переменную groovy, используя параметр returnStdout
поэтому вызов sh
должен выглядеть следующим образом:
def list = [ "some-exclude", "anotherone", "yes" ]
def cmd = "cat logfile.log | grep 'error|ERROR'| grep -v '${ list.join('|') }'"
def errors = sh( returnStdout: true, script: cmd )
if( errors.trim() ){
println "errors found: ${errors}"
}