On Tue, Nov 10 2015, Servilio Afre Puentes wrote: [...] > #+BEGIN_SRC sh > sed -r 's/.* SRC=(\S+) .* DPT=(80|443) .*/\1.\2/g' /var/log/firewall.log > | sort # [1] > | uniq -c > | sed -r 's/^\s+(\S+)\s+/\1./' # [2] > | sort -t. -k2,2n -k3,3n -k4,4n -k5,5n -k1,1rn -k6,6n > | sed -r 's|^(\S+)\.|\1\t|;s|\.(\S+)$|\t\1|' # [3] > #+END_SRC
Este último «sed» está mal, la primera expresión regular consume todo excepto el último punto, y la segunda no encuentra nada entonces, dando algo como: 3.184.105.139.67 443 Así q hay q usar expresiones regulares más específicas: sed -r 's|^([^.]+)\.|\1\t|;s|\.([^.]+)$|\t\1|' y entonces tenemos: 3 184.105.139.67 443 Moraleja: el vago envía dos mensajes. Servilio ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l