Re: [問題] 如合搜尋當天第一筆時間前的資訊

看板Linux作者 (Rickie Yang)時間9年前 (2016/04/06 23:20), 9年前編輯推噓2(2015)
留言17則, 4人參與, 最新討論串2/2 (看更多)
BEGIN{ p_id=""; id=""; p_date=""; } /^ *[0-9]/{ p_id=id; id=$2 } /^ Time/{ if ($2" "$3 != p_date) { if (p_date != ""){ printf("last record of %s: %d\n",gensub(/start:/,"","1",p_date),p_id) printf("1st record of %s: %d\n",gensub(/start:/,"","1",$2)" "$3,id) } p_date=$2" "$3 } } ※ 引述《nashsai (納許賽)》之銘言: : Hi : 我有一個文件為 : -------------------------------------------------------- : % id status user : --------------------------------- : 0 140 complete auser : Details: : Time start:Apr 6,2016 18:14:35 : % id status user : --------------------------------- : 0 141 complete buser : Details: : Time start:Apr 6,2016 18:45:35 : . : . : . : . : ------------------------------------------------------- : id是按照時間排的. : 我想知道每天的第一筆ID與最後一筆ID : 要使用什麼方法來做比較快 : 目前想到可能是搜到第一筆 日期(ex: Apr 6)時 印出前兩行 然後awk print $2 : 最後一筆可能用隔天的id-1 : 不知道我的想法對嘛 : 請各位看看 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.29.108 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1459956056.A.06B.html ※ 編輯: rickieyang (36.224.29.108), 04/06/2016 23:31:03

04/07 00:13, , 1F
如果確定 id 是連續的, 不用記下 p_id, id-1 就可以了
04/07 00:13, 1F

04/07 11:14, , 2F
好的程式習慣,還是要記,然後加一行比對p_id不等於id-1時
04/07 11:14, 2F

04/07 11:14, , 3F
發出錯誤訊息
04/07 11:14, 3F

04/07 15:01, , 4F
原文資訊只有"ID是照時間排的",不確定是否連續,所以..
04/07 15:01, 4F

04/07 17:02, , 5F
我的意思是就算連線還是照好習慣寫,會有意想不到的收穫
04/07 17:02, 5F

04/07 17:02, , 6F
連續
04/07 17:02, 6F

04/07 17:03, , 7F
都照好習慣寫的程式,可以互相check,發現意想不到又難以發
04/07 17:03, 7F

04/07 17:04, , 8F
現的錯誤.程式是人寫的,難免有錯,或許本來設計連續,結果
04/07 17:04, 8F

04/07 17:04, , 9F
在異常情況下跳號了,上述照好習慣寫的程式就能查覺,或者
04/07 17:04, 9F

04/07 17:05, , 10F
反而找到自己這邊程式的罕見的異常流程錯誤.反正就是哪天
04/07 17:05, 10F

04/07 17:06, , 11F
萬一印出錯誤訊息,能知道有異常,而不是讓異常錯誤繼續擴
04/07 17:06, 11F

04/07 17:06, , 12F
04/07 17:06, 12F

04/08 02:52, , 13F
這是甚麼語言?
04/08 02:52, 13F

04/08 03:06, , 14F
C嗎?
04/08 03:06, 14F

04/08 09:05, , 15F
awk
04/08 09:05, 15F

04/08 15:14, , 16F
跪 推一下,
04/08 15:14, 16F

04/11 05:32, , 17F
rickieyang 對 awk 真的很熟悉:)
04/11 05:32, 17F
文章代碼(AID): #1N1IbO1h (Linux)
文章代碼(AID): #1N1IbO1h (Linux)