Welke reguliere expressie kan ik gebruiken om een IP-adres te matchen?
Met de volgende grep
syntaxis wil ik alle IP adressen in een bestand matchen (van een ksh
script)
grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file
Het probleem: Het match ook woorden (IP) die meer dan 4 octetten hebben:
1.1.1.1.1
of
192.1.1.1.160
Hoe kan ik een geldig IP matchen en alleen IP adressen met 4 octetten? Ik kan ook Perl gebruiken - een één-regel syntaxis oplossing, als grep
niet werkt.