私はstdinで受信しているストリームのストリームを持っていて、タイムスタンプをストリームに追加したいと思います。理想的には、新しい行を現在のエポック秒に置き換えたいすべての行bashのストリームにタイムスタンプを挿入する
... | sed "s/$/$(date +' %s')"/
はコマンドで1回だけdateコマンドを評価するため動作しません。
どうすればよいですか?
私はstdinで受信しているストリームのストリームを持っていて、タイムスタンプをストリームに追加したいと思います。理想的には、新しい行を現在のエポック秒に置き換えたいすべての行bashのストリームにタイムスタンプを挿入する
... | sed "s/$/$(date +' %s')"/
はコマンドで1回だけdateコマンドを評価するため動作しません。
どうすればよいですか?
お使いのOSに応じて、あなたは
ts
コマンドを使用することができます。 これはでタイムスタンプを置くGNU AWK
... | ts '%s'
を開始します
... | gawk '{print $0, systime()}'
やPerl
... | perl -lpe '$_ .= " ".time'
私は重複としてフラグこれをすることはできませんか、それについてのコメントが、前にここで尋ねた同じ質問を見てみましょう:そこからIs there a Unix utility to prepend timestamps to stdin?
、あなたは、ビアをインストールする必要がありますどの(ts
のいずれかを使用することができますapt-get install moreutils
)またはawk
である。