実現したいこと
$ last -F reboot
にて、wtmpが作成された時間を基にシステムが "初めて起動" された時刻を確認したいです。
そのため、以下のように sed で文字列を抽出し、
文字列の順番を入れ替えた後、フォーマットを行いたいです。
1.下記コマンドで文字列を抽出 $ last -F reboot | sed -n 's/wtmp begins.....//p' 抽出された文字列 Feb 26 00:44:16 2020 2.文字列の順番を入れ替える Feb 26 00:44:16 2020 ↓ 順番入れ替え 2020 Feb 26 00:44:16 3.フォーマットを行う 2020 Feb 26 00:44:16 ↓ フォーマット 2020-Feb-26-00h44m16s
上記の文字列を取得します。
しかし、以下のような日にちが2桁とならない場合に[0]をつけるようにしたいです。
Mar 2 15:03:22 2020 ↓ 0を付与 (2の前にあるスペースを0に置換) Mar 02 15:03:22 2020 ↓ フォーマット 2020-Mar-02-15h03m22s
また、可能であれば月の英語も数字に変更を行いたいです。
Jan → 01 Feb → 02 Mar → 03 Apr → 04 May → 05 Jun → 06 Jul → 07 Aug → 08 Sep → 09 Oct → 10 Nov → 11 Dec → 12
最終的には以下のようなフォーマットになることが理想です。
2020-02-26-00h44m16s
初歩的なLinuxコマンドは使用できますが、
いまの知識だとあまりにもShellが冗長であるため
スマートに実現が可能であればご意見いただけると幸いです。
補足情報(FW/ツールのバージョンなど)
OS:Amazon Linux2
回答3件
あなたの回答
tips
プレビュー