unix linux – Seleccione y ordene la dirección IP manteniendo toda la línea

Pregunta:

Así que necesito ordenar las direcciones IP y luego ordenar mi línea por ellas.

Puedo ordenar direcciones IP en un archivo usando: sort -n -t . -k1,1 -k2,2 -k 3,3 -k4,4

Si mi archivo se parece a:

    add method1 a.b.c.d other thing
    add method2 e.f.g.h other thing2
    add method2 a.b.c.d other thing2
    add method5 j.k.l.m other thing5
    add method3 a.b.c.d other thing3
    add method1 e.f.g.h other thing2

Pero en este caso, el campo 1 será:

    add method1 a
    add method2 e
    add method2 a
    add method5 j
    add method3 a
    add method1 e

Y el campo 4 será:

    d other thing
    h other thing2
    d other thing2
    m other thing5
    d other thing3
    h other thing2

Cómo y qué herramientas debo utilizar para ordenar mis direcciones IP y luego ordenar mis líneas por ellas. Gracias por adelantado.

EDITAR: Ejemplo modificado. Hay varias líneas con la misma dirección IP pero con texto diferente y en un orden aleatorio.

Respuesta:

Respuesta tardía, pero podría ayudar a alguien. Si tiene una versión reciente de GNU sort (de GNU coreutils 7.0 o posterior), puede usar la opción --version-sort (o -V ), que hará lo correcto con las direcciones IPv4. Suponiendo la entrada de:

add method1 10.1.2.3 other thing
add method2 10.10.20.30 other thing2
add method2 10.1.2.3 other thing2
add method5 10.2.8.9 other thing5
add method3 10.1.2.3 other thing3
add method1 10.10.20.30 other thing2

Ejecutar esto a través de sort -k 3 -V producirá:

add method1 10.1.2.3 other thing
add method2 10.1.2.3 other thing2
add method3 10.1.2.3 other thing3
add method5 10.2.8.9 other thing5
add method1 10.10.20.30 other thing2
add method2 10.10.20.30 other thing2

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım