Методы извлечения IP-адресов с помощью команды grep в Linux с примерами кода

Для поиска IP-адресов с помощью команды grepв Linux вы можете использовать регулярные выражения для соответствия шаблону IP-адреса. Вот несколько методов с примерами кода:

Метод 1: базовый grep

grep -E -o "([0-9]{1,3}\.){3}[0-9]{1,3}" file.txt

Эта команда ищет IP-адреса в файле file.txtи печатает только совпадающие IP-адреса.

Метод 2: grep с PCRE (регулярные выражения, совместимые с Perl)

grep -P -o "\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b" file.txt

Эта команда использует PCRE для сопоставления IP-адресов в файле file.txt.

Метод 3: grep с фильтрацией диапазона IP

grep -E -o "([0-9]{1,3}\.){3}[0-9]{1,3}" file.txt | awk -F'.' '$1<=255 && $2<=255 && $3<=255 && $4<=255'

Эта команда отфильтровывает недопустимые IP-адреса с октетами больше 255.

Метод 4: сопоставление адресов IPv6

grep -E -o "([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}" file.txt

Эта команда ищет адреса IPv6 в файле file.txtи печатает их.

Это всего лишь несколько примеров использования grepдля поиска IP-адресов. Вы можете настроить регулярные выражения в соответствии со своими требованиями.