亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有Unix實用程序在stdin之前添加時間戳?

是否有Unix實用程序在stdin之前添加時間戳?

猛跑小豬 2019-11-23 13:02:54
我最終用Python為此編寫了一個快速的小腳本,但是我想知道是否有一個工具可以將文本填充到每行的前面,在我的特定情況下是時間戳,您可以在其中添加文本。理想情況下,使用方式如下:cat somefile.txt | prepend-timestamp(在您回答sed之前,我嘗試過此操作:cat somefile.txt | sed "s/^/`date`/"但這僅在執行sed時對date命令執行一次評估,因此同一時間戳錯誤地附加到每一行。)
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

可以嘗試使用awk:


<command> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }'

您可能需要確保<command>產生行緩沖輸出,即在每行之后刷新其輸出流。時間戳awk添加將是該行的結尾出現在其輸入管道上的時間。


如果awk顯示錯誤,請嘗試gawk。


查看完整回答
反對 回復 2019-11-23
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

tsfrom moreutils將在您輸入的每一行前面加上一個時間戳。您也可以使用strftime對其進行格式化。


$ echo 'foo bar baz' | ts

Mar 21 18:07:28 foo bar baz

$ echo 'blah blah blah' | ts '%F %T'

2012-03-21 18:07:30 blah blah blah

要安裝它:


sudo apt-get install moreutils


查看完整回答
反對 回復 2019-11-23
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

注解,可以通過該鏈接獲得,也可以annotate-output在Debian devscripts軟件包中獲得。


$ echo -e "a\nb\nc" > lines

$ annotate-output cat lines

17:00:47 I: Started cat lines

17:00:47 O: a

17:00:47 O: b

17:00:47 O: c

17:00:47 I: Finished with exitcode 0


查看完整回答
反對 回復 2019-11-23
  • 3 回答
  • 0 關注
  • 606 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號