You are here

IP-adressen sorteren met 'sort'

Leuk, ip-adressen listen... als je normaal gesproken bijvoorbeeld ip-adressen .1 t/m .10 op een server hebt en je probeert ze te sorteren dan krijg je iets als dit:
10.1.2.1
10.1.2.10
10.1.2.2
10.1.2.3
10.1.2.4
10.1.2.5
10.1.2.6
10.1.2.7
10.1.2.8
10.1.2.9

Maar die 10 zie je toch liever netjes onder de 9, niet?
Wat je kunt doen is sort inlichten over het feit dat de punt een scheidingsteken is en vervolgens per veld sorteren. bijvoorbeeld als volgt:

ip a | grep inet | awk '{print$2}' | cut -d'/' -f1 | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4

Gevolg:
10.1.2.1
10.1.2.2
10.1.2.3
10.1.2.4
10.1.2.5
10.1.2.6
10.1.2.7
10.1.2.8
10.1.2.9
10.1.2.10

Jeej! :-)