2013-05-17 4 views
0

전자 메일 주소가있는 두 개의 파일 (한 줄에 하나씩) : file1 및 file2가 있습니다.다른 목록에 대한 전자 메일 주소 목록 확인

file2에도 존재하는 file1의 모든 이메일을 제거하려면 어떻게해야합니까? bash 응답을 찾고 있지만 다른 스크립팅 언어도 좋습니다.

도움이된다면 각 파일에는 고유 이메일 주소 만 있습니다.

답변

1
join -v1 <(sort file1) <(sort file2) 

이 파일 2에 표시되지 않는 파일 1에서 선 (이메일)을 인쇄 할 수 join 알려줍니다. 그 (것)들은 분류되어야한다, <(sort ...) 어디에서.

+0

덕분에 많이. 어떻게 든 내 bash는 예기치 않은 것에 대해 불평하고있다. (그러나, 나는 파일을 미리 정렬하고 '<'를 남겨두면 작동하는 것 같다. – user1583209

0

당신이 어떤 이유로 든 순서를 보존하고 싶은해야하는 경우가 지나치게 넌 할 수있어 고민 경우 민감성과 캐리지 리턴 (^ M)에 의해 복잡합니다 :

perl -e '%e=();while(<>){s/[\r\n]//g;$e{lc($_)}=1}open($so,"<","file1");while(<$so>){s/[\r\n]//g;print "$_\n" if(!exists($e{lc($_)}))}close($so)' file2 
관련 문제