2

Apache または nginx Web サーバー ログの特定の応答コード (エラー コード) に一致する正規表現を探しています。

10.80.248.64 - - [02/Nov/2012:15:04:40 +0000] "GET //browse/OS HTTP/1.1" 404 497 "-" "-"
10.220.64.11 - - [02/Nov/2012:15:04:54 +0000] "GET / HTTP/1.0" 200 491 "-" "Wget/1.12 (linux-gnu)"
10.80.16.66 - - [29/Oct/2012:11:09:11 +0000] "GET / HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" 

正規表現は、404、200、302 などの特定のエラー コードを含む行と一致する必要があります。

4

1 に答える 1

10

正規表現パターンを使用

^[^"]*"[^"]*\sHTTP\/[\d.]+"\s+(?:200|302|404)\s.*$
 └─┬─┘│└─┬─┘└┤└────┬─────┘│└┬┘└──────┬──────┘└┤└┤
   │  │  │   │     │      │ │        │        │ │
   │  │  │   │     │      │ │        │        │ └─ anything (including nothing)
   │  │  │   │     │      │ │        │        │ 
   │  │  │   │     │      │ │        │        └─ one space (white-space character)
   │  │  │   │     │      │ │        │
   │  │  │   │     │      │ │        └─ 200 or 302 or 404
   │  │  │   │     │      │ │
   │  │  │   │     │      │ └─ one or more spaces (white-space characters)
   │  │  │   │     │      │
   │  │  │   │     │      └─ one double-quote character
   │  │  │   │     │
   │  │  │   │     └─ HTTP/ followed by a combination of digit(s) and/or dot(s)
   │  │  │   │
   │  │  │   └─ one space (white-space character) 
   │  │  │
   │  │  └─ anything (including nothing) but double-quote character(s)
   │  │
   │  └─ one double-quote character
   │
   └─ anything (including nothing) but double-quote character(s)
于 2012-11-05T12:39:17.343 に答える