というファイルにはresult
次の内容があります。
<span class=timestamp><b>15:31:00</b></span>
タイムスタンプを見つける方法は?
以下はいくつかの試みとその結果です。
> grep "[0..9]*:[0..9]*:[0..9]*" result -o
> grep "[0..9]*:[0..9]*" result -o
:
:00
> grep "[0..9]*:" result -o
:
:
答え1
私は使用します
grep -o '[0-2][0-9]:[0-5][0-9]:[0-5][0-9]' result
結果をタイムスタンプである文字列(0から29までの時間(午前/午後12時間ではなく24時間と仮定して約23)、0から59までの分、秒)に制限します。
拡張正規表現を導入すると、一致がより厳しくなる可能性があります。
grep -oE '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]' result
うるう秒を許可するには、60が許容値でなければなりません。
grep -oE '([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)' result
(UTC真夜中の前に追加されましたが、上記では他のタイムゾーンも許可されています。)
答え2
次のコマンドで同じ効果が得られます
grep -o "[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}" result