我正在努力只用亚麻布显示错误消息。
e.g。
ERROR: Rule19: Tunerparams and/or CalcInternal in Script at 13, 15, 22
请你检查并帮我把它弄好(我对此很新)
checkCodingRule19()
{
grep -En "TunerParams|CalcInternal" $INPUT_FILE &&
echo "error: ´Rule 19: Tunerparams and/or Calicinternal in Script at $line"
}
答案 0 :(得分:0)
您可以使用这个简单的grep
脚本代替awk
:
awk '(NR==13 || NR==15 || NR==22) && /TunerParams|CalcInternal/' file.log
NR==13 || NR==15 || NR==22
将仅对第13,15行和第13行执行此命令。 22 /TunerParams|CalcInternal/
将在一行中搜索这些模式答案 1 :(得分:0)
line=`awk '$0 ~ /Tunerparams|CalcInternal/ {printf NR ", " }' < $INPUT_FILE | sed "s/, $//"`
echo "error: Rule 19: Tunerparams and/or Calicinternal in Script at $line"
使用awk
在$ INPUT_FILE中搜索Tunerparams或CalcInternal。每次匹配时,打印行号NR
。附加“,”。将输出传递给sed
以修剪最后一个逗号。 $line
现在有逗号分隔的数字列表。所以简单地回应它。
我注意到你的echo语句中有一个“'”可能不属于。