Tengo una lista de máquinas con sus direcciones IP. ¿Cómo hago para ordenarla? Más que nada, es para encontrar direcciones libres en ese rango de red.
webserver 192.168.1.123 mailx 192.168.1.201 nagios 192.168.1.100 mysql1 192.168.1.22 mysql2 192.168.1.23 router 192.168.1.1
Ordenar esto por la dirección es fácil:
$ sort -k 4 -t . -n infile.txt > outfile.txt
Con la opción «-t .» hacemos que el carácter que separa palabras no sea el espacio sino el punto.
Con «-k 4» obtenemos la cuarta palabra de cada línea. Como el «punto» separa unas palabras de otras, la primera palabra es «webserver 192», la segunda es «168», la tercera es «1» y la cuarta es «123».
La opción «-n» nos ayuda a clasificar números y no cadenas alfanuméricas.
Y ya.