이메일로 가득 찬 디렉토리를 구문 분석하고 이메일 주소와 해당 이름을 추출하는 펄 스크립트를 작성하려합니다.이메일 주소와 이름을 추출하십시오.
지금은 "보낸 사람 :"이라는 단어를 파싱 한 다음 줄을 추출하지만이 부분은 내가 붙어있는 곳입니다.
데이터는 다음과 같은 형식 일 수 있습니다
> From: "Smith, John" <[email protected]>
> From: John Smith <[email protected]>
> From: Frank Smith [mailto:[email protected]]=20
> From: "Smith, Frank" [mailto:[email protected]]=20
그래서 나는 그래서 난 3 개 변수, 이름, 성 및 이메일로 끝날 너무 문자열을 포맷해야합니다.
파일을 구문 분석하여 이메일 주소와 이름을 얻는 더 좋은 방법이 있습니까? 문자열을 처리하고 정렬하려면 대개 쉼표로 이름을 바꾸어야합니다.
아무도 도와 줄 수 있습니까? 당신이 그 유일한 유효한 형식 있는지 경우이 지금까지 내 스크립트입니다
...
#!/usr/bin/perl
@files = </storage/filters/*>;
foreach $file (@files)
{
open (FILE, "$file");
while($line= <FILE>)
{
print $line if $line =~ /. From:/;
}
close FILE;
}
CPAN을 보았습니까? 이메일 :: 주소가 대부분 청구서에 부합 할 수 있습니다. 스와핑이라는 이름은 스왑과 하드 (스왑이 필요한지 여부를 결정하기 위해 - 나는 쉼표만으로 충분할 것 같지 않다)에 대해 모두 중요합니다. 또한 '<...>'대신 glob을 사용하십시오. 더 읽기 쉽습니다. – Tanktalus
@Tanktalus'Email :: Address'는 훌륭하지만 "From :"Smith, Frank "[mailto : [email protected]] = 20 ';' – cnicutar