두 개의 목록이 있다고 가정해 보겠습니다.
guests-2016.txt
:
Peter
Michael
Frank
Dirk
guests-2017.txt
:
Mark
Michael
Dirk
Lilly
두 개의 새로운 손님 목록을 만드는 방법
참석했지만
guests-2016.txt
참석하지 않은 손님guests-2017.txt
( )former_guests.txt
이전에는 없었
guests-2016.txt
으나 지금은 여기에 있는 손님guests-2017.txt
(new_guests.txt
)
빈 줄은 무시해야 합니다. 표준 유틸리티만 사용할 수 있습니다.
diff
내 생각은 일부 후처리를 사용하고 수행하는 것입니다 .
답변1
2개 주어짐정렬됨파일이 comm
이 작업을 수행합니다.
예를 들어 -2 -3
및 명령줄 옵션의 조합을 참조하세요.-1 -3
답변2
작업이 완료되었는지 확인하세요. 필요한 경우 설명을 추가할 수 있습니다.
awk '
/^$/{next}
FNR == NR {guest_2016[$1] = 1}
FNR != NR {
if(!guest_2016[$1])
print $1 > "new_guests.txt"
delete guest_2016[$1];
}
END {
for(i in guest_2016)
print i > "former_guests.txt"
}' guests-2016.txt guests-2017.txt