2012-09-04 89 views
11

utilizo el comando 'grep' siguiente para obtener el recuento de la cadena alert en cada una de mis archivos en la ruta dada:Cómo ordenar la salida obtenida con grep -c?

grep 'alert' -F /usr/local/snort/rules/* -c 

¿Cómo puedo ordenar la salida resultante en orden- deseada decir orden ascendente, orden descendente, ordenado por nombre, etc. Una respuesta específica a estos casos es suficiente.

También puede sugerir un comando que no sea grep.

+0

Posible duplicado de [Unix Sort with Tab Delimiter] (http://stackoverflow.com/questions/1037365/unix-sort-with-tab-delimiter) con la columna == 2 y separador == ':' –

Respuesta

22

Pipe it in sort. Suponiendo que sus nombres de archivo no tienen dos puntos, use la opción "-t" para especificar los dos puntos como saparator de campo. Use -n para la clasificación numérica.

Ejemplo:

grep 'alert' -F /usr/local/snort/rules/* -c | sort -t: -n -k2 

debe dividir líneas en campos separados por ":", utilizar el segundo campo de clasificar, y tratar esta como números (de modo 21 es en realidad más tarde de 3).

Cuestiones relacionadas