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

作者: rickieyang (Rickie Yang)   2016-04-06 23:20:52
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
: 我有一個文件為
:
作者: rickieyang (Rickie Yang)   2016-04-07 00:13:00
如果確定 id 是連續的, 不用記下 p_id, id-1 就可以了
作者: bitlife (BIT一生)   2016-04-07 11:14:00
好的程式習慣,還是要記,然後加一行比對p_id不等於id-1時發出錯誤訊息
作者: rickieyang (Rickie Yang)   2016-04-07 15:01:00
原文資訊只有"ID是照時間排的",不確定是否連續,所以..
作者: bitlife (BIT一生)   2016-04-07 17:02:00
我的意思是就算連線還是照好習慣寫,會有意想不到的收穫連續都照好習慣寫的程式,可以互相check,發現意想不到又難以發現的錯誤.程式是人寫的,難免有錯,或許本來設計連續,結果在異常情況下跳號了,上述照好習慣寫的程式就能查覺,或者反而找到自己這邊程式的罕見的異常流程錯誤.反正就是哪天萬一印出錯誤訊息,能知道有異常,而不是讓異常錯誤繼續擴散
作者: kenwufederer (Nash)   2016-04-08 02:52:00
這是甚麼語言?C嗎?
作者: rickieyang (Rickie Yang)   2016-04-08 09:05:00
awk
作者: kenwufederer (Nash)   2016-04-08 15:14:00
跪 推一下,
作者: kenduest (小州)   2016-04-11 05:32:00
rickieyang 對 awk 真的很熟悉:)

Links booklink

Contact Us: admin [ a t ] ucptt.com