How can I filter out unique results from grep output?
You can achieve this with the sort
and uniq
utilities.
example:
[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
depending on the data you may want to utilize some of the switches as well.
You can use:
grep -rohP "(mySearchString)" . | sort -u
-r: recursive
-o: only print matching part of the text
-h: don't print filenames
-P: Perl style regex (you may use -E instead depending on your case)
sort -u
is better than sort | uniq
, as @Chris Johnsen pointed out.