Printing AWK打印一行作为输出文件中的第一条记录
问题是: 我有一个AWK脚本,计划每天通过crontab条目运行。此特定脚本将错误输出到错误日志。我有一个变量,它在每次遇到错误时递增,并且在脚本末尾有以下控制语句:Printing AWK打印一行作为输出文件中的第一条记录,printing,awk,Printing,Awk,问题是: 我有一个AWK脚本,计划每天通过crontab条目运行。此特定脚本将错误输出到错误日志。我有一个变量,它在每次遇到错误时递增,并且在脚本末尾有以下控制语句: if (blErrorCounter) { print "Log contains " blErrorCounter " errors!" } else { print "Log contains no errors!" } 该脚本包含许多其他错误处理条件,这些条件将数据输出到日志文件,但我希望能够将上述内容打印
if (blErrorCounter) {
print "Log contains " blErrorCounter " errors!"
} else {
print "Log contains no errors!"
}
该脚本包含许多其他错误处理条件,这些条件将数据输出到日志文件,但我希望能够将上述内容打印为文件中的第一条记录
这可能很简单,因为我是AWK的noob,但任何帮助/指示都会得到很大的帮助
Shaw您需要保存错误消息以在结尾部分打印,例如:
/error/ { errors[++blErrorCounter] = "Got error at line " FNR }
END {
if (blErrorCounter) {
print "Log contains", blErrorCounter, "errors!"
for (ec=1; ec <= blErrorCounter; ec++) {
print errors[ec]
}
} else {
print "Log contains no errors!"
}
}
/error/{errors[++blErrorCounter]=“在第“FNR”行出现错误”
结束{
如果(blErrorCounter){
打印“日志包含”,blErrorCounter,“错误!”
对于(ec=1;ec您需要保存错误消息以在结尾部分打印,例如:
/error/ { errors[++blErrorCounter] = "Got error at line " FNR }
END {
if (blErrorCounter) {
print "Log contains", blErrorCounter, "errors!"
for (ec=1; ec <= blErrorCounter; ec++) {
print errors[ec]
}
} else {
print "Log contains no errors!"
}
}
/error/{errors[++blErrorCounter]=“在第“FNR”行出现错误”
结束{
如果(blErrorCounter){
打印“日志包含”,blErrorCounter,“错误!”
对于(ec=1;ec,在awk
脚本中有几个print()
语句,此代码是最后一部分,但其print()
输出应该出现在第一部分,是这样的吗?在awk
脚本中有几个print()
语句,此代码是最后一部分,但它的print()
输出应该出现在第一个,是这样的吗?
/error/ { errors[++blErrorCounter] = "Got error at line " FNR }
END {
printf "Log contains %d errors!\n", blErrorCounter
for (ec=1; ec <= blErrorCounter; ec++) {
print errors[ec]
}
}