grep 출력에서 ​​고유 한 결과를 어떻게 필터링 할 수 있습니까? 파일에서 문자열을 grep 할 수

리눅스에서는을 사용하여 파일에서 문자열을 grep 할 수 있습니다 grep mySearchString myFile.txt. 고유 한 결과 만 얻으려면 어떻게해야합니까?



답변

sortuniq유틸리티를 사용 하여이 작업을 수행 할 수 있습니다 .

예:

[john @ awesome ~] $ echo -e "test \ ntest \ ntest \ nanother test \ ntest"
테스트
테스트
테스트
다른 테스트
테스트
[john @ awesome ~] $ echo -e "test \ ntest \ ntest \ nanother test \ ntest"| 정렬 | 유니크
다른 테스트
테스트

데이터에 따라 일부 스위치를 활용할 수도 있습니다.


답변

당신이 사용할 수있는:

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

-r : 재귀

-o : 텍스트의 일치하는 부분 만 인쇄

-h : 파일 이름을 인쇄하지 않습니다

-P : Perl 스타일 정규식 (경우에 따라 -E를 대신 사용할 수 있음)

sort -usort | uniq@Chris Johnsen이 지적했듯이 보다 낫습니다 .


답변