[질문] >유닉스< 텍스트파일에서 이메일주소 추출하기
글쓴이: cerbenos / 작성시간: 금, 2008/10/24 - 2:19오후
이메일 주소의 정규식을 써서
리다이렉션을 이용해 파일에 저장하면 되는거 아닌ㄱㅏ요? ;
grep -w '^[0-9A-Za-Z]([-_\]?[0-9A-Za-z])*@[0-9A-Za-Z]([-_\]?[0-9A-Za-z])*\.[a-zA-Z]{2,3}$' a.txt > b.txt
라고 입력하면 될줄알았는데
명령은 에러가 안나는데 아무런 결과가 없내요.
그냥 공백만 뜨는군요..;
만약 저 입력이 성공한다면
이메일주소가 들어있는 행이 복사되는건가요?
그러면 이메일주소만 남길려면 어떻게 해야하나요?
-------------------------------------------------------------
성공했습니다.;
옵션을 잘못 줬군요
디폴트로 -w빼고 ()없이 하니까
이메일이 포함된 라인이 추출되는군요
grep "[0-9A-Za-Z]*[-_]*[0-9A-Za-z]*@[0-9A-Za-Z]*[-_]*[0-9A-Za-z]*.[a-zA-Z]*" a.txt > b.txt
그런데 여기서 다시 문제가 생겼어요.
grep으로 행을 추출한다음에
cut으로 자를려고했는데
이메일주소앞부분에 공백이 없어 필드가 늬니질 않내요.
그래서 주소출이 불가능합니다..
어떻게 해야 주소를 추출할까요?
Forums:
RFC 822
Hello World.
무슨뜻인지
무슨뜻인지 모르겠어요;;;
regex - email address
표준을 99.9% 수용할수 있는 regex 입니다. ^^;
Hello World.
GNU grep이라면 -o 옵션을 써 보세요.
혹시 email만 따는게 목적이시라면 -o 옵션을 써 보세요.
$ man grep 에 아래와 같은 설명이 있습니다.
근데 결과를 보니 email regex는 다시 짜셔야 할 듯 합니다.
댓글 달기