500백만건의 email리스트를 정리중입니다. 정리도중에 문제가 생겼습니다. aaa at aaa.com bbb at bbb.com장흥동 100번지 ccc at ccc.com ddddddddd at ddddd.net 1111111111 at 111111111.org목동 아파트 . . . . 이렇게 중간중간에 주소가 입력된 라인들이 있습니다. 몇줄되지 않는다면 그냥 보고 처리하겠지만 100메가의 txt파일에 이라인들만 처리할수 있는 방법이 있을까요? 제가 생각하기엔 com,net,org,co.kr뒤에 붙는 문자는 다 삭제하는 명령어가 있다면 금방 해결이 되겠는데.... 고수님의 조언 부탁드립니다.
한 줄 처리라면 sed 's/\(\.\(com\|net\|org\|co\.kr\)\)[^ ]*$/\1/' 처럼 도메인 뒤의 불필요한 글자를 지울 수 있습니다. 100MB 파일은 sed/awk 가 스트림으로 처리하니 문제없고, 먼저 head 로 시험해 보세요. 다만 이메일 목록은 용도를 확인해야 합니다.