1 find . -type f -exec grep -Iq . {} \; -exec grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null \;
Данная команда ищет все файлы в текущем каталоге и его подкаталогах, которые являются ASCII файлами. Затем она извлекает IP-адреса из этих файлов. Первая часть команды (before -exec) используется для поиска файлов, а вторая часть (after -exec) — для извлечения IP-адресов.
Чтобы найти только ASCII файлы, мы используем опцию -type f
после команды find .
, которая указывает, что нужно искать только обычные файлы, а не каталоги или специальные файлы.
Далее, мы используем параметр -exec grep -Iq . {} \;
, который выполняет команду grep -Iq . {}
для каждого найденного файла. Опция -I
игнорирует двоичные файлы, а -q
подавляет вывод результатов, оставляя только код завершения.
Во второй части команды, после -exec
, мы используем команду grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null
. Здесь мы используем grep
с опциями -oE
для извлечения только совпадающих IP-адресов из файлов.
На выходе после выполнения команды отображаются все найденные IP-адреса.
Альтернативой этой команды может быть использование команды awk
или других инструментов для обработки текста. Однако, данная команда является универсальной и может быть полезна, если вам нужно найти IP-адреса в большом количестве файлов.