このtime(1)
コマンドを使用すると、コマンドを引数として渡して時間を測定できますtime
。
私はファイルにリダイレクトし、入力を画面とファイルにコピーすることが可能であることをstderr
知っています。しかし、ログにタイムスタンプを追加する方法がわかりません。stdout
2>&1
tee(1)
ロギング目的でファイルstderr
にリダイレクトし、ファイルにタイムスタンプを追加するツールはありますか?stdout
答え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