С помощью следующего grepсинтаксиса я хочу сопоставить все IP-адреса в файле (из kshскрипта)
grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file
Проблема: он также соответствует словам (IP), которые имеют более 4 октетов:
1.1.1.1.1
или
192.1.1.1.160
Как сопоставить действительный IP-адрес и только IP-адреса с 4 октетами? Я также могу использовать Perl - однострочное синтаксическое решение, если grepоно не работает.
192.1.4097действительны и принимаются Linux glibc и Windows.
0x7f.1и0177.1
999.999.999.999тоже будет соответствовать .