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