GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso filtrare i risultati univoci dall'output di grep?

Puoi ottenere questo risultato con il sort e uniq utilità.

esempio:

[[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

a seconda dei dati potresti voler utilizzare anche alcuni degli switch.


Puoi usare:

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

-r:ricorsivo

-o:stampa solo la parte corrispondente del testo

-h:non stampa i nomi dei file

-P:regex in stile Perl (puoi usare invece -E a seconda del tuo caso)

sort -u è meglio di sort | uniq , come ha sottolineato @Chris Johnsen.


Linux
  1. Come ordinare l'output per dimensione?

  2. Come eseguire il grep con l'output a colori

  3. Come posso escludere una directory dal comando ls

  4. Come reindirizzare l'output da grep a cp?

  5. Come posso ordinare ls per proprietario e gruppo?

Come posso ottenere valori univoci da un array in Bash?

Come posso eseguire il loop sull'output di un comando di shell?

Come ordinare i risultati di Find statement per data?

Come ordinare questo output 1,10,11..2

Come posso ordinare du -h output per dimensione

Come eseguire il grep dell'output di ps con le intestazioni