ログラインタイムスタンプを別のタイムゾーンに変換するには?

ログラインタイムスタンプを別のタイムゾーンに変換するには?

YYYY-MM-DD hh:mm:ss各行の先頭にタイムスタンプ()があるログがあります。タイムスタンプはUTC時間ですが、現地時間に何が起こったのかを知りたいことが多いです。頭の中から切り替えることはできますが、努力が必要です。

通常、ログをgrepにリンクして必要なものを選択します。残りの行はそのまま維持しながら、1時間でタイムスタンプをパイプできますか?

答え1

これはawkでひどく非効率的な解決策です...

{
        cmd="date -d \"" $1 " " $2 " UTC\" \"+%F %H:%M:%S %Z\"";
        cmd | getline u
        $1="";
        $2="";
        print u $0;
}

個人的には、私はstrtotime()をサポートするより伝統的なプログラミング言語で何かを書きたいと思います。

関連情報