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

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

Advertisement

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

Advertisement
Advertisement

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.

Advertisement

Questões relacionadas

6
10
7
5
8
Advertisement