ログを日付でgrepして失敗した話

例えば12時~13時の間のログファイルを確認したかったが失敗した話

考慮不足だった手順

grep "2020/12/1 1[2-3]" hoge.log

これで12~13時のログは出力できますが、
該当プロジェクトはjavaプロジェクトで、StackTraceは日付がない行で表示される。
肝心のエラーが拾えない。。。

対策

最初の行

grep -n -m 1 "2020/12/1 1[2-3]" hoge.log

最後の行

grep -n -m 1 "2020/12/1 1[2-3]" hoge.log | tail -n 1

取得した行番号でsed
sed -n '開始行,終了行p' ファイル名

sed -n '100,200p' hoge.log

tailよりtacのほうがよいらしいが、行番が逆なので工夫が必要、未確認。
もっと良いやり方があれば知りたい。