2017-08-28 92 views
-8

的日期我有一個這樣的名單:腳本在Linux的獲取文件

2017-07-24 00:00:01 domate request time: 142 
2017-07-24 00:00:01 domate request time: 256 
... 
... 
2017-07-24 23:59:01 domate request time: 546 

大約有20000行。 我想做一個腳本,找到這個數字(時間)是> 1000,當他發現請顯示日期。

請有人幫助我。 我已經做了一個腳本,但我不能顯示日期。 非常感謝

+0

這與內核有什麼關係?這是一個簡單的'awk'腳本。 – Barmar

+0

你的腳本在哪裏? – robert

+0

我知道是一個錯誤。 – diamant123

回答

1

這應該做到這一點 - 如果第6列大於1000

這導致前兩列
cat filename | awk '$6 > 1000 {print $1,$2}' 
+0

謝謝@麻雀這真的有用。 :) – diamant123

+0

@ diamant123如果是這樣,你可以將上述標記爲答案。 – Sparrow

0

bash解決方案,這將另外驗證日期是在一個有效的格式。

while read -r line; do 
    [[ $line =~ ([0-9]{4}-[0-9]{2}-[0-9]{2}\ [0-9]{2}:[0-9]{2}:[0-9]{2}).*time:\ ([0-9]*) ]] || continue 
    if ((${BASH_REMATCH[2]} > 1000)); then 
     echo ${BASH_REMATCH[1]} 
    fi 
done <file 

樣品輸入:

2017-07-24 00:00:01 domate request time: 142 
2017-07-24 00:00:01 domate request time: 256 
2017-07-24 23:59:01 domate request time: 546 
2017-07-25 00:00:01 domate request time: 1420 

輸出示例:

2017-07-25 00:00:01 
+0

非常感謝Anubis這項工作。 – diamant123