awk '/TunerParams|CalcInternal/ {print "error: Rule 19: Tunerparams and/or Calicinternal in Script at line", NR}' $FILENAME
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"
}
awk '/TunerParams|CalcInternal/ {print "error: Rule 19: Tunerparams and/or Calicinternal in Script at line", NR}' $FILENAME
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
Tags bash