sort di IPs

Riccardo Torrini riccardo a torrini.org
Lun 28 Mar 2005 10:27:55 CEST


On Sun, Mar 27, 2005 at 03:46:31PM +0200, Gianmarco Giovannelli wrote:

> Avrei un file con tante linee di questo tipo:
> 192.168.1.234
> 192.168.2.8
> 192.168.1.12
> 192.168.2.212

[...]

> Sono tutti ip di una classe omogenea /16 ...
> Se fossero stati di un /24 mi sembra che si faccia agilmente con
> una riga di "sort":
> sort -n -t . -k 4.1 file

No, dovresti indicare che e' numerico al singolo campo (vedi dopo).
Ti permetterebbe di avere campi (colonne) miste.


> Si vic, avrei potuto mandartelo solo a te, ma francamente per
> Pasqua ti volevo far riposare visto che ti stresso anche troppo
> gli altri giorni ... 

Chi lascia la strada vecchia per la nuova... script troopo lunghi
e complicati poi si ritrova.  Bastava un colpo di sort  :P

# sort -t. -k3n,3 -k4n

Si, tutto qui.  Spiegazione: fai il sort sulla SOLA colonna 3 di
un file separato da "." (dot) e se sono uguali controlla la 4a.
Se non mettete la ",3" al primo campo il -k4 viene ignotato.

Vi anticipo facendo anche il sort al contrario:

# sort -t. -k3nr,3 -k4nr

Vedi perche' prima dicevo di mettere la 'r' alla singola chiave?
Perche' cosi' potresti fare dei sort misti, tipo avere crescente
sul 3o byte e descrescente sul 4o o viceversa...
Dite che e' troppo perverso?  =8-}


> Comunque se leggi il messaggio ...

Scusa il ritardo ma ieri il computer era vietato  =)


> ... e mi vuoi mandare le solite due righette ...  :-)

Ho faticato a fare due righe  :P


PS: comunque volendo risparmiare un carattere puoi globalizzare(?)
    la n e fare: # sort -nt. -k3,3 -k4


-- 
Riccardo. ( http://www.GUFI.org/~vic/ )



Maggiori informazioni sulla lista varie