У мене є сценарій, який генерує деякий вихід. Я хочу перевірити цей вихід на наявність будь-якої IP-адреси
159.143.23.12
134.12.178.131
124.143.12.132
if (IPs are found in <file>)
then // bunch of actions //
else // bunch of actions //
Це fgrep
гарна ідея?
У мене є доступний баш.
0010.0000.0000.0001
? Чи може файл у іншому випадку містити речі, схожі на IP-адреси, наприклад номери версій ( soft-1.2.1100.1.tar.gz
, специфікації мережі (10.0.0.0/24), 1.2.3.4.5)? Чи прийняли б ви рішення, яке є позитивним щодо 333.444.555.666? Або 0377.0377.0377.0377
(дійсна чотирикутна IP-адреса)?
bash
це доступно, awk
зазвичай це також є, тому це може працювати для вас: awk '/([0-9]{2,3}\.){3}/ {print $5 "\t" $1}'
(Цей однолінійний переклад виводить список хостів XFR у /etc/hosts
формат.)