→ kdjf:為什麼要寫入diff? 然後每100行存一個可以用sed 10/15 19:26
→ kdjf:還有,增加內容可用>>解決,一堆tmp file很慢又難看懂 10/15 19:42
→ Microscft:你直接更改syslog的設定比較快 把facility的level調高 10/15 20:07
→ Microscft:你覺得不需要記錄到log的就設定不要記錄 10/15 20:08
→ Microscft:或是把不同的訊息記錄丟到不同的log檔 10/15 20:09
→ Microscft:你這樣設定排程cat來cp去的 是在浪費系統資源 10/15 20:10
感謝 上面兩位回應...
因為原始程式會紀錄Test_log,這是原廠寫的,必須要存在,我無法變更或是修改
我只是希望另存成一個檔案去紀錄所有資訊...但是不需要全部記錄..
可能每個小時,或是每100筆記錄一次即可...
增加內容的方式..我確實是用>>解決,寫入到Test_long_log ,
但目前我想不到更好方式
去比較出Test_log新增的資料內容, 所以我只能用diff去比
抱歉..我現在查書...依然找不到sed如何每100行擷取一次
目前我只會用sed去做 取代 的用途..是否可以直接幫我說明..謝謝
※ 編輯: zchien 來自: 111.255.20.252 (10/15 21:21)
推 yvb:sed -n '1~100p' ? 10/16 01:22
推 yvb:按你的描述, 似乎只要記錄 Test_log1 的第一筆, 供下次檢查, 10/16 02:17
→ yvb:就可以知道是不是新的 Test_log1 ... 10/16 02:17
推 yvb:也就是說, 若可等 Test_log 被轉存到 Test_log1 後再來處理, 10/16 02:26
→ yvb:那問題應該就簡單許多了吧 ?? 10/16 02:26
→ zchien:sed -n '1~100p' 只會擷取前一百行..和我需求不同 10/17 12:04
→ zchien:可等 Test_log 被轉存到 Test_log1 後再來處理...感謝提醒 10/17 12:05
→ zchien:這部分應該是比較簡單...只是我還是要用到cp和cat才能將 10/17 12:05
→ zchien:Test_log1存進去Test_long_log 10/17 12:06
推 rickieyang:awk '( NR%100==0 ){print $0}' Test_log1 10/17 12:57
→ rickieyang:while true; do tail -1 Test_log; sleep 3600; done 10/17 12:59
推 rickieyang:鬼遮眼. 不用{print $0}的... 10/17 13:10
→ rickieyang:awk '( NR%100==0 )' Test_log1 就好了 10/17 13:11
→ kdjf:1~100的思意和你相的不一樣喔... 那是sed address init~step 10/17 13:27
→ kdjf:sed -n '1~100p' Test_log1 >>Test_long_log 10/17 13:28
推 yvb:sed -n '1,100p' 才是前一百行. 10/17 13:30
→ yvb:sed -n '1~100p' 是每隔一百行, 從第一行開始. 10/17 13:31
→ kdjf:是說如果都在linux上了,可以用inotify()去看檔案有沒有被動到 10/17 14:42
推 yvb:若要用 inotify() 大概就要移駕 LinuxDev 板了 :P 10/17 16:58
推 yvb:翻回去忽然看到這句話: 10/17 19:25
→ yvb: 因為這些sensor資料,我大約每個小時只需要一筆即可... 10/17 19:26
→ yvb:意思就是, 其實只要一小時跑一次 cron job 10/17 19:27
→ yvb:而 cron job 就只要用 tail -1 抓最後一筆 Test_log 即可. 10/17 19:29
→ yvb: tail -1 Test_log >> Test_long_log 10/17 19:30
推 yvb:頂多, 加一點檢查, 看 Test_long_log 和 Test_log 的最後一行 10/17 19:35
→ yvb:如果相同, 就不要 append 到 Test_long_log. 10/17 19:35
推 yvb:咦, 原來11樓r大已寫了 tail, 只是我被那句 鬼遮眼 也給遮了:P 10/17 19:51
推 yvb:啊, 更上面其實還有6樓... 所以是 "編輯" 過後的11樓. 10/17 19:54
→ zchien:謝謝各位給我這些想法,等一下就試試 10/17 22:05
→ zchien:sed -n '1~100p’ 我電腦認不得1~100p意思 10/17 22:08
→ zchien:但每小時tail一次的方法可行,謝謝 10/17 22:09
推 yvb:'1~100p'不認得? sed --version 或 sed -V 看一下是什麼版本? 10/17 22:43