記錄任何類似“時間”的命令

記錄任何類似“時間”的命令

time(1)命令允許您透過將任何命令作為參數傳遞給 來計時time

我知道可以透過 重定向stderrstdout到文件2>&1,並且還tee(1)允許將其輸入複製到螢幕和文件。但是,我不知道如何向日誌添加時間戳記。

是否有工具可以重定向stderrstdout文件,並為其附加時間戳以用於記錄目的?

答案1

您可以使用ts(1)moreutils 中的內容。


ts更多實用程式將為您提供的每一行輸入添加一個時間戳記。您也可以使用 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

內容複製自該答案:https://stackoverflow.com/a/9813614/221689

答案2

annotate-output從 Debian嘗試開發腳本包裹。它顯示時間戳,並在標準輸出之前寫入“O”,在標準錯誤之前寫入“E”。例子:

# run `ls` on one file that exists, and one that doesn't...
annotate-output ls /bin/bash /tmp/boosh

輸出:

03:30:52 I: Started ls /bin/bash /tmp/boosh
03:30:52 O: /bin/bash
03:30:52 E: ls: cannot access '/tmp/boosh': No such file or directory
03:30:52 I: Finished with exitcode 2

相關內容