![bash: 라인에 egrep 및 echo 오류가 발생했습니다.](https://linux55.com/image/94156/bash%3A%20%EB%9D%BC%EC%9D%B8%EC%97%90%20egrep%20%EB%B0%8F%20echo%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
이 두 줄을 어떻게 결합할 수 있으며 TunerParams 및/또는 Calicinternal이 발견되면 "Error: Rule 19: Tunerparams and/or Calicinternal in script at line X,Y..."를 에코하세요.
{
egrep -E "TunerParams|CalcInternal" $INPUT_FILE -n | cut -d ":" -f 1
echo "error: Rule 19: Tunerparams and/or Calicinternal in Script at line"
}
답변1
awk '/TunerParams|CalcInternal/ {print "error: Rule 19: Tunerparams and/or Calicinternal in Script at line", NR}' $FILENAME
답변2
ocurran의 솔루션은 awk
좋은 솔루션입니다. 당신은 이것에 특히 관심이 있는 것 같으므로 egrep
몇 가지 단계를 거쳐야 합니다:
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
명령의 출력을 캡처한 egrep
다음 해당 출력에 내용이 있는 경우 오류 메시지를 인쇄하고 그렇지 않으면 아무것도 인쇄되지 않습니다.