2011-12-06 8 views
1

Apacheのアクセスログファイルにレコードのブロックをリストしたいとします。私はtail -xの使い方を知っていますが、ファイルの終わりだけでなく、ファイル内の特定のレコードをリストしたいと思います。コマンドラインApacheログファイル内の特定のレコードを表示するコマンド

これに対して、コマンドラインコマンドはどのように見えますか?

ありがとうございました。

+0

「特定のレコード」をどのように決定しますか? –

+0

@Pekka - 今朝の午前8時から午前9時にアクセス記録に挑戦しようとしています。しかし、私はレコードのブロックに私を得るだろうなら> "リスト17500-18000 /ログ/ファイル/名前"のような何かをして喜んでだろう –

答えて

1

grepを使用してログファイルを検索し、希望の時間範囲に一致する正規表現を指定できますか?

たとえば、ログエントリにDD/MMM/YYYY:HH:MM:SSの時刻形式が使用されている場合、このコマンドは2011年12月6日の午前8時から午前8時59分までのエントリを出力します。

grep '06/Dec/2011:08' logfile 
+0

それもうまくいった。ありがとう@ ldueck –

+0

良いもの。結果をページングするには、出力をプログラムにパイプしないでください。例:grep '06/Dec/2011:08 'ログファイル|もっと少なく。 – telenachos

2
sed -n 17500,18000p filename.txt 
+0

優秀。ありがとう@ KingCrunch。私はそれを取る "p"は一時停止を表して...どのように結果をページングする? –

+0

'p'は" print "を意味します。 Linuxの世界の多くのものと同様に、ページングのための別のツール(「1つのタスクに1つのツール」)を使います: 'sed -n 17500,18000p filename.txt | less' – KingCrunch

関連する問題