我需要在我的日誌文件中每小時統計消息數。每個日誌文件行都在時間戳之前。因此,我使用以下「對」和「的grep」命令來做到這一點 -如何grep以數字或空格開頭的行
for i in `seq 0 23`
do egrep "$i:[0-9][0-9]:[0-9][0-9] <some_pattern>" filename | wc -l
done
這會給我每小時消息數量0到23
然而,這並不單位工作小時,例如5:23:32
,因爲它前面有一個空格。然後grep的必須是 -
egrep " $i:[0-9][0-9]:[0-9][0-9] <some_pattern>" filename | wc -l
如果沒有它會不正確地匹配線開始說15:23:32
所以,我怎麼能告訴grep的一個數字都可以用一個空格之前或該行的開始只要。
如何使用這個在上面循環?這樣我可以按小時得到輸出數字 – punekr12 2015-02-09 21:03:32
您不能在字符類中使用正則表達式。 – Swiss 2015-02-09 21:05:14