我有一个包含SQL查询输出的文件,如下所示:
DG_DATA 9 DG_FRA 0 OCR002 3 OCR 3我使用以下代码提取包含数字的列
awk '{for(x=1;x<=NF;++x)if(x % 2 == 0)printf $x "\t"}'我得到了如下格式的输出:
9 0 3 3 但是我需要一些帮助来比较所有的整数,如果任何一个整数大于80,就打印"CRITICAL“。
发布于 2016-02-05 17:42:06
这是一种方法:
{
n=split($0, arr, " ");
i=2;
while(i<=n){
str=str arr[i]"\t";
if(arr[i] > 80){
f=1
};
i+=2;
}
print str;
if(f){
print "CRITICAL";
}
}示例
所有值都正常:
[llamazing@pc ~]$ echo "DG_DATA 9 DG_FRA 0 OCR002 3 OCR 3" | awk '{n=split($0, a, " ");i=2;while(i<=n){str=str a[i]"\t";if(a[i] > 80){f=1};i+=2;}print str;if(f){print "CRITICAL";}}'
9 0 3 3关键消息:
[llamazing@pc ~]$ echo "DG_DATA 9 DG_FRA 81 OCR002 3 OCR 3" | awk '{n=split($0, a, " ");i=2;while(i<=n){str=str a[i]"\t";if(a[i] > 80){f=1};i+=2;}print str;if(f){print "CRITICAL";}}'
9 81 3 3
CRITICALhttps://stackoverflow.com/questions/33877642
复制相似问题