bash: egrep e erro de eco na linha [closed]

1

como posso combinar essas duas linhas que, se houver algum TunerParams e / ou Calcinternal são encontrados apenas "erro: Regra 19: Tunerparams e / ou Calicinternal no Script na linha X, Y ...." é ecoado

{
egrep -E "TunerParams|CalcInternal" $INPUT_FILE -n | cut -d ":" -f 1
echo "error: Rule 19: Tunerparams and/or Calicinternal in Script at line"
}
    
por user189083 09.09.2016 / 12:53

2 respostas

4

awk '/TunerParams|CalcInternal/ {print "error: Rule 19: Tunerparams and/or Calicinternal in Script at line", NR}' $FILENAME
    
por 09.09.2016 / 13:07
2

A solução awk da ocurran é ótima. Como você parece interessado em fazer isso com egrep em particular, é necessário executá-lo em algumas etapas:

line="$(egrep -E "TunerParams|CalcInternal" "$INPUT_FILE" -n | cut -d ":" -f 1)"
if [[ -z $line ]]; then
    printf 'error: Rule 19: Tunerparams and/or Calicinternal in Script at line %s\n' "$line"
fi

que irá capturar a saída do comando egrep , então se houver algo nessa saída, irá imprimir a mensagem de erro, caso contrário, não imprimirá nada

    
por 09.09.2016 / 14:06

Tags