[問題] 監控串流並用awk及時打印出來
各位大大
小弟想對監控的串流訊息的每一行用awk加上時間戳後存成文字檔。
舉個例子:
ping -c 50 127.0.0.1 | awk '{ print strftime("%T",systime()),$0 } ' | tee test.txt
可是awk好像是把整段訊息處理完後,才一口氣全部打印出來,
可是我希望log還沒跑完的時後,就可以一邊從銀幕上看到,就像是讓awk可以每處理完一行後就馬上打印出。
請問個位大大,有這個可能做到嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.106.65
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1444582497.A.950.html
推
10/12 03:11, , 1F
10/12 03:11, 1F
以原文為例子,你的意思是
ping -c 50 127.0.0.1 | awk '{ print strftime("%T",systime()),$0 | "tee test.txt"}'
這樣嗎?不過對於STDIN還是使用awk處理,結果會是會是50次都ping完後才把結果跟時間戳打印出來
我是希望可以每ping一次就馬上加上時間戳並打印出來
推
10/12 08:11, , 2F
10/12 08:11, 2F
不好意思,google查到moreutils ts的例子好少,如果可以的話,可以舉個例子說明一下嗎?
那麼moreutils顯示出的時間格是又是哪種呢?可以設定格式嗎?
※ 編輯: makefriends (220.134.106.64), 10/12/2015 23:41:21
→
10/12 23:54, , 3F
10/12 23:54, 3F
→
10/12 23:57, , 4F
10/12 23:57, 4F
→
10/12 23:57, , 5F
10/12 23:57, 5F
→
10/12 23:59, , 6F
10/12 23:59, 6F
我明天到公司在試試看一次,感謝你的熱情提供^ ^,不過這方式是不是STDOUT不會即時顯示呢?
※ 編輯: makefriends (220.134.106.64), 10/13/2015 00:53:17
※ 編輯: makefriends (220.134.106.64), 10/13/2015 00:58:40
→
10/13 01:18, , 7F
10/13 01:18, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):