2015-06-17 50 views
0

我有一個具有以下數據shell腳本來讀取每一行,並運行條件

120 
140 
200 
110 
200 
200 
120 
90 
100 

我想讀這個文件並比較各行(序號)200,如果它穿過一個日誌文件200 - 那麼它必須比較下一個單詞,直到連續5次超過200,那麼它必須發送警報,否則腳本必須結束。

請幫

感謝,

+0

如果5個連續的數字超過200個,它必須發送警報。 – Ravikanth

回答

1

你是說要檢測當連續5行中包含大於200的值?如果是這樣的:

awk '{a = $1 > lim ? a + 1 : 0} 
    a > seq {print "alert on line " NR}' lim=200 seq=5 input 

目前尚不清楚你真正想要的東西,也許你想使用>=,而不是在上面>

這只是通過名爲input的文件讀取並檢查數字是否大於200(給出的值爲lim)。如果是,則增加一個計數器。當該計數器大於seq時,它會打印一條消息。

+0

連續5行(超過200)可以在中間或結束。我們需要找出那些 - 如果它們是 - 那麼它應該說True或者False。如果可能的話 - 我們需要找到5中最高的一個 – Ravikanth