我目前正在解析gcc
的错误日志
main.c:5:1: warning: data definition has no type or storage class [enabled by default]
main.c:8:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
main.c in function 'TryAdddition()'
main.c:24:1: warning: data definition has no type or storage class [enabled by default]
main.c:24:10: warning: data definition has no type or storage class [enabled by default]
5,8,24,24是发生错误或警告的行号。
我需要用数字+ 10 替换这些数字,即: 15,18,34,34
。
但并非每条线都是错误或警告线。
答案 0 :(得分:5)
我会说awk
是这项工作的好工具。要将更改仅应用于error
或warning
行:
$ awk '$4==" warning" || $4==" error"{$2+=10}1' FS=':' OFS=':' file
main.c:15:1: warning: data definition has no type or storage class [enabled by default]
main.c:18:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
main.c in function 'TryAdddition()'
main.c:34:1: warning: data definition has no type or storage class [enabled by default]
main.c:34:10: warning: data definition has no type or storage class [enabled by default