Beste mensen,
Ik probeer nu al twee dagen om per regel een stel IP's gescheiden door een "-" te filteren. Eigenlijk een IPrange dus.
De input zou alsvolgt kunnen zijn (voorbeeldregel):
Zoals je ziet, het is geen kwestie van met 'cut' de field delimiter op ":" zetten en dan het tweede veld uitlezen, er kan namelijk in de beschrijving die voorafgaat aan de range een dubbele punt voorkomen!
Dus nu dacht ik: awk en regexp. Moet toch lukken? Niet dus, ik raak helemaal verdwaald in de wereld van awk en alles wat daaromheen zit. In perl moet het me wel lukken, dat heb ik eerder gedaan, maar dit moet echt in een bash-script! Ik zou de volgende regexp kunnen gebruiken in perl, waarin de stukken tekst tussen ronde haken eruit gehaald zou worden
Iemand een tip hoe ik awk hiervoor moet gebruiken, of zit ik helemaal in de verkeerde hoek?
Ik probeer nu al twee dagen om per regel een stel IP's gescheiden door een "-" te filteren. Eigenlijk een IPrange dus.
De input zou alsvolgt kunnen zijn (voorbeeldregel):
code:
1
| Dit is een mooie IPRange: hij is van een -goede- vriend van mij:1.2.3.4-1.3.4.5 |
Zoals je ziet, het is geen kwestie van met 'cut' de field delimiter op ":" zetten en dan het tweede veld uitlezen, er kan namelijk in de beschrijving die voorafgaat aan de range een dubbele punt voorkomen!
Dus nu dacht ik: awk en regexp. Moet toch lukken? Niet dus, ik raak helemaal verdwaald in de wereld van awk en alles wat daaromheen zit. In perl moet het me wel lukken, dat heb ik eerder gedaan, maar dit moet echt in een bash-script! Ik zou de volgende regexp kunnen gebruiken in perl, waarin de stukken tekst tussen ronde haken eruit gehaald zou worden
code:
1
| /([0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3})-([0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3})/g |
Iemand een tip hoe ik awk hiervoor moet gebruiken, of zit ik helemaal in de verkeerde hoek?