2010-02-21 02:41:41 +0000 2010-02-21 02:41:41 +0000
79
79

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

En linux, puedo grep una cadena de un archivo usando grep mySearchString myFile.txt. ¿Cómo puedo obtener sólo el resultado que es único?

Respuestas (2)

132
132
132
2010-02-21 02:52:47 +0000

Puede conseguirlo con las utilidades sort y uniq .

ejemplo:

[john@awesome ~]$ echo -e "test\ntest\ntest\nanother test\ntest" test test test another test test [john@awesome ~]$ echo -e "test\ntest\ntest\nanother test\ntest" | sort | uniq another test test

dependiendo de los datos puede querer utilizar también algunos de los interruptores.

3
3
3
2019-08-22 21:13:48 +0000

Puede utilizar:

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

-r: recursivo

-o: sólo imprime la parte del texto que coincide

-h: no imprime los nombres de los archivos

-P: regex estilo Perl (puede usar -E en su lugar dependiendo de su caso)

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

Preguntas relacionadas

6
10
7
5
5