1

привет дорогие друзья и доброе утро

Следующий вопрос может быть сложным и критическим для моих систем

У меня есть 4 машины Linux с кластером

Моя цель - найти все виды IP-адресов (xxx.xxx.xxx.xxx) в каждом файле в системе Linux

примечание: необходимо сканировать каждый файл в системе Linux и проверить, содержит ли файл IP-адрес, если да, нужно распечатать IP

в дальнейшем

больше /etc/inet/file.example1

 182.23.2.4
 255.255.0.0
 10.10.1.1
 19.2.*.*
 127.0.0.1

больше /etc/dir/file1.example2

 1.1.1.1 TCP

Так далее.................

Могу ли я получить творческое предложение, чтобы найти все IP-адреса и распечатать их

Lidia

1 ответ1

1

Это напечатает полную строку, которая содержит что-то, что напоминает IP-адрес. Он не проверяет, находятся ли его октеты в диапазоне 0-255.

grep -Er '\<([0-9]{1,3}\.){3}[0-9]{1,3}\>' /*

чтобы печатать только адрес без остатка строки, добавьте опцию -o . Чтобы отключить печать имени файла, добавьте опцию -h .

Вы можете заменить разделители \< и \> на [[:space:]] .

Редактировать:

Вот тот, который может подойти для случаев, которые включают звездочки:

grep -Er '[[:space:]]((\*|[0-9]{1,3})\.){3}(\*|[0-9]{1,3})[[:space:]]' /*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .