grep、sed、awk、およびcutを使用してログから情報を取得する

grep、sed、awk、およびcutを使用してログから情報を取得する

単純なコマンドを使用してログファイルからデータを抽出しようとしています。

以下はファイルのサンプルラインです。

128.101.35.183 - - [23/Mar/2008:00:03:10 +0000] "GET /javascript/email.js HTTP/1.1" 200 359 "http://www.cs.ucd.ie/Staff/AcademicStaff/bsmyth/"; "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"

次の形式でファイルの最初と最後のログエントリの日付と時刻をどのように取得できますか?

2008年3月23日:00:03:10

他の役割はありませんか?

ベストアンサー1

ログファイルの最初の行と最後の行のタイムスタンプを取得するには、以下を試してください。

{ head -n 1 my_log_file; tail -n 1 my_log_file; } | awk '{print $4}' | tr -d '['

ところで、これはApacheログのように見えます。使用を検討することもできます。ログの保存構造化ログを解析します。

おすすめ記事