GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo filtrar resultados únicos de la salida grep?

Puedes lograr esto con el sort y uniq utilidades.

ejemplo:

[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest"
test
test
test
another test
test
[[email protected] ~]$ echo -e "test\ntest\ntest\nanother test\ntest" | sort | uniq
another test
test

dependiendo de los datos, es posible que también desee utilizar algunos de los interruptores.


Puedes usar:

grep -rohP "(mySearchString)" . | sort -u

-r:recursivo

-o:solo imprime la parte coincidente del texto

-h:no imprimir nombres de archivos

-P:expresión regular de estilo Perl (puede usar -E en su lugar dependiendo de su caso)

sort -u es mejor que sort | uniq , como señaló @Chris Johnsen.


Linux
  1. ¿Cómo ordenar la salida Du por tamaño?

  2. ¿Cómo suprimir la salida de Grep, para que solo devuelva el estado de salida?

  3. ¿Cómo canalizar la salida de grep a cp?

  4. ¿Cómo puedo ordenar ls por propietario y grupo?

  5. ¿Cómo puedo saber si mi servidor tiene algún tipo de IPMI?

¿Cómo puedo ejecutar una función desde un script en la línea de comandos?

¿Cómo puedo obtener valores únicos de una matriz en Bash?

¿Cómo puedo excluir un directorio del comando ls?

¿Cómo puedo recorrer la salida de un comando de shell?

salida grep de largo a ancho

¿Cómo aplicar un filtro a la salida en tiempo real de `tail -f`?