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

Como posso filtrar resultados únicos da saída do grep?

Em linux, posso grepear uma corda de um ficheiro usando grep mySearchString myFile.txt. Como posso obter apenas o resultado que é único?

Respostas (2)

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

Pode conseguir isto com os sort e uniq utilitários.

exemplo:

[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

dependendo dos dados que possa querer utilizar também alguns dos comutadores.

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

Pode utilizar:

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

-r: recursivo

-o: imprimir apenas parte correspondente do texto

-h: não imprimir nomes de ficheiros

-P: regex estilo Perl (pode usar -E em vez disso, dependendo do seu caso)

sort -u é melhor do que sort | uniq, como @Chris Johnsen assinalou.