두 파일 사이에 동일한 문자열이 있으면 다시 인쇄하지 마세요.

두 파일 사이에 동일한 문자열이 있으면 다시 인쇄하지 마세요.

& 에 SUCCESS대한 문자열을 찾고 있습니다 . 이 경우 문자열을 찾아서 그것이 두 개의 파일에만 있는지 여부에 따라 인쇄하는 반면 , 한 파일에 대해서만 두 파일 모두에서 한 번만 인쇄하도록 찾고 있습니다. 어떻게 해야 하나요?file_1file_2file_1file_1file_2

$ grep SUCCESS file_1  file_2

결과:

file_1:Host fox_01 is SUCCESS
file_2:Host fox_02 is SUCCESS
file_2:Host fox_01 is SUCCESS

반드시 grep일 필요는 없지만 어떤 제안이나 솔루션에도 열려 있습니다.

답변1

이 시도,

awk '/SUCCESS/ && !a[$0]++' file_1 file_2

Host fox_01 is SUCCESS
Host fox_02 is SUCCESS

키워드 "SUCCESS"를 확인하고 중복을 무시합니다.

답변2

grep -h파일 이름을 인쇄하지 않으 려면awk 중복 행 억제:

grep -h SUCCESS file_1  file_2 | awk '!seen[$0]++'

또는 정렬하려는 경우:

grep -h SUCCESS file_1  file_2 | sort -u

관련 정보