61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
# Regex examples
|
|
|
|
## Match an IP address
|
|
|
|
`\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}`
|
|
|
|
If we use this expression on the following using grep to search the file
|
|
|
|
`grep -oP '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' log.txt'`
|
|
|
|
```bash
|
|
103.252.153.201
|
|
127.0.0.1 - - [30/Dec/2018 22:43:01] "GET / HTTP/1.0" 200 -
|
|
210.49.93.254, 66.102.6.169
|
|
127.0.0.1 - - [31/Dec/2018 09:17:47] "GET / HTTP/1.0" 200 -
|
|
210.49.93.254, 66.102.6.173
|
|
127.0.0.1 - - [31/Dec/2018 09:17:48] "GET /favicon.ico HTTP/1.0" 200 -
|
|
112.140.176.2
|
|
127.0.0.1 - - [01/Jan/2019 01:58:43] "GET / HTTP/1.0" 200 -
|
|
112.140.176.2
|
|
127.0.0.1 - - [01/Jan/2019 01:58:45] "GET /favicon.ico HTTP/1.0" 200 -
|
|
112.140.176.2
|
|
127.0.0.1 - - [01/Jan/2019 01:58:51] "POST / HTTP/1.0" 200 -
|
|
112.140.176.2
|
|
127.0.0.1 - - [01/Jan/2019 01:58:51] "GET /favicon.ico HTTP/1.0" 200 -
|
|
112.140.176.2
|
|
127.0.0.1 - - [01/Jan/2019 02:13:07] "GET /EviXDWpXvH HTTP/1.0" 200 -
|
|
210.49.93.254, 66.102.6.171
|
|
127.0.0.1 - - [02/Jan/2019 10:32:17] "GET / HTTP/1.0" 200 -
|
|
210.49.93.254, 66.102.6.173
|
|
127.0.0.1 - - [02/Jan/2019 10:32:18] "GET /favicon.ico HTTP/1.0" 200 -
|
|
```
|
|
|
|
The output will be a list of IP addresses in the file that looks like
|
|
|
|
```bash
|
|
103.252.153.201
|
|
127.0.0.1
|
|
210.49.93.254
|
|
66.102.6.169
|
|
127.0.0.1
|
|
210.49.93.254
|
|
66.102.6.173
|
|
127.0.0.1
|
|
112.140.176.2
|
|
127.0.0.1
|
|
112.140.176.2
|
|
127.0.0.1
|
|
112.140.176.2
|
|
127.0.0.1
|
|
112.140.176.2
|
|
127.0.0.1
|
|
112.140.176.2
|
|
127.0.0.1
|
|
210.49.93.254
|
|
66.102.6.171
|
|
127.0.0.1
|
|
210.49.93.254
|
|
66.102.6.173
|
|
127.0.0.1
|
|
``` |