163 177 2000 Automatic Processing System on Internet Text Messages Hiroyuki EDO abd Yoshiyuki SAKAMOTO 1 Return-Path: Return- Path: RFC822: Standard for ARPA Internet Text Messages 163
2000 RFC822:ARPA 1 2 3 RCF Requests for Comments 1200 RFC822Standard for ARPA Internet Text Messages Return-Path: <liberoevo@mail7.dddd.ne.jp> Received: from sumichan1a.kasei.ac.jp (sumichan.kasei.ac.jp [192.218.112.1]) by inm-svr1.inst.kasei.ac.jp (Post.Office MTA v3.1.2 release (PO205-101c) ID# 110-36869U1000L2S100) with ESMTP id AAA254 for <edo@in.kasei.ac.jp>; Mon, 27 Sep 1999 14:43:20 +0900 Received: from webmaster.dddd.ne.jp (webmaster.dddd.ne.jp [210.150.30.137]) by sumichan1a.kasei.ac.jp (8.8.8+2.7Wbeta7/3.7W) with SMTP id OAA11518 for <edo@in.kasei.ac.jp>; Mon, 27 Sep 1999 14:43:10 +0900 (JST) Received: (qmail 7516 invoked by uid 200); 27 Sep 1999 05:43:09-0000 Message-ID: <936oAfP1kTtxs8Q91TZAsnepXVQm8ShXiLsCkyokYaWS UWUnu5exxA gtwbuxsj.n@mail7.dddd.ne.jp> Date: Mon, 27 Sep 1999 14:43:05 +0900 X-Mailer: RobotMail Ver2.00b2 X-Priority: 3 X-MSMail-Priority: Normal From: Hiroyuki-E <liberoevo@mail7.dddd.ne.jp> To: Hiroyuki EDO <edo@in.kasei.ac.jp> Subject: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 164
. From: From. tsukuba @ in.kasei. ac. jp 1. From: hanako tsukuba <tsukuba@in.kasei.ac.jp> 2. From: <tsukuba@in.kasei.ac.jp> 3. From: ibaraki@in.kasei.ac.jp kenji ibaraki 4. From: ibaraki@in.kasei.ac.jp 5. From: aduma@in.kasei.ac.jp. Date: Date 1. Date: Mon, 10 May 1999 10:10:10 +0900 2. Date: Sat, 28 Aug 1999 20:34:29 +0200 3. Date: Tue, 20 Mar 1999 14:50:28 EST 4. Date: Fri, 12 Mar 1999 10:28:23 PST +0900+0200 ESTPST 1. GMT: Greenwich Mean Time 2. E S T: Eastern Standard Time 3. P S T: Pacific Standard Time. Subject: Subject 1. Subject: 2. Subject: Re: Re:Reply 165
2000. From From: ().. < > From: hanako tsukuba <tsukuba@in.kasei.ac.jp> < >.. From: ibaraki@in.kasei.ac.jp.. From: aduma@in.kasei.ac.jp. Date Date: Tue, 20 Mar 1999 14:50:28 +0900 Date:. Subject: Subject: Subject:., LISP AWK Perl AWK MS-DOS UNIX AWK AWK 4) 5) AWK 3Alfred V.Aho Peter J.Weinberger Brian W.Kernighan AWK AWK 166
AWK AWK GUN AWK GAWK JGAWK AWK Microsoft-Excel Microsoft-Excel Microsoft-Windows Excel Spread Sheet 1 1 cell 4. mail.awk.begin END AWK BEGIN END BEGIN{ print MailAddress, Date, Week, StandardTime, Subject ; BEGIN { MailAddress Date Week StandardTime Subject 1. 2. 3. END{ { 167
2000 BEGIN { print MailAddress, Date, Week, StandardTime, Subject ; /^Return-Path: /{ mode=0; from= ; date= ; subject= ; /^From:/{ from=address($0); /^Date:/{ date=day($0); /^Subject:/{ subject=splithead($0); /^$/ { if(mode==0){ mode=1; print from, date, subject; END { function address(ptr) { addr1=splithead($0); n=split(addr1,addr2, < ); if(n>1){ n=split(addr2[2],addr3, > ); addr=addr3[1]; else{ addr=addr1; gsub(/ /,,addr); gsub(/ ([^( )] )/,,addr); gsub(/ ([^( )] )/,,addr); return addr; function day(ptr){ addr1=splithead($0); split(addr1,addr2, ); addr=addr2[2] addr2[3] addr2[4] addr2[5], addr2[1] addr2[6]; return addr; function splithead(ptr){ m=index(ptr, : )+2; addr1=substr(ptr,m); return addr1; mail.awk 168
. /.. /^Return-Path:/{ mode=0; from= ; date= ; subject= ; Return-Path: { mode Return-Path: from datesubject.. From /^From:/{ from=address($0); From: { address.. Date /^Date:/{ date=day($0); Date: { day.. Subject /^Subject:/{ subject=splithead($0); Subject: { splithead.. /^$/ { if(mode==0){ mode=1; print from, date, subject; $ { if mode==0 mode( )mode, fromdatesubject mode. AWK function { return return. From From address address function address(ptr){ addr1=splithead($0); n=split(addr1,addr2, < ); if(n>1) { 169
2000 n=split(addr2[2],addr3, > ); addr=addr3[1]; else { addr=addr1; gsub(/ /,,addr); gsub(/ ([^( )] )/,,addr); gsub(/ ([^( )] )/,,addr); return addr;.. addr1=splithead($0) From splithead From: hanako tsukuba <tsukuba@in.kasei.ac.jp> addr1.. <addr1 n=split(addr1,addr2, < ) 5.4.1 addr1 < addr2 addr2[1]=hanako tsukuba addr2[2]= tsukuba@in.kasei.ac.jp>n < addr1n.. if(n>1) { n=split(addr2[2],addr3, > ); addr=addr3[1]; else { addr=addr1; if n>1 else.. > 5.4.3n n=split(addr2[2],addr3, > ) addr2[2] tsukuba@in.kasei.ac.jp> > tsukuba@in.kasei.ac.jp addr3[1] addr=addr3[1] addr 5.4.3n addr 5.4.1 addr1 < > ibaraki@in.kasei.ac.jp aduma@in.kasei.ac.jp.. addr gsub(/ /,,addr); gsub(/ ([^( )] )/,,addr); gsub(/ ([^( )] )/,,addr); gsub(/ /,,addr) addr gsub(/ ([^( )] )/,, addr)addr ( ) (suzuki(satou) kazuko).. return addr address 170
5.2.2 from. Date Date day day function day(ptr) { addr1=splithead($0); split(addr1,addr2, ); addr=addr2[2] addr2[3] addr2[4] addr2[5], addr2[1] addr2[6]; return addr;.. 5.4.1 addr1=splithead($0); Date Date: Mon, 10 May 1999 10:10:10 +0900 addr1.. return addr day 5.2.3 date. Subject Subject splithead FromDate splithead function splithead(ptr) { m=index(ptr, : )+2; addr1=substr(ptr,m); return addr1;.. m=index(ptr, : )+2 : : m.. addr1 split(addr1,addr2, ) 5.5.1 addr1 addr2 addr2[1]=mon, addr2[2]=10 addr2[3] =May addr2[4]=1999 addr2[5]=10:10:10 addr 2[6]=+0900.. addr=addr2[2] addr2[3] addr2[4] addr 2[5], addr2[1] addr2[6];,,, addr 10 May 1999 10:10:10, Mon, +900 subject: m addr1=substr(ptr,m) m addr1 subject: addr1.. return addr splithead 5.2.4 subject 171
2000. AWK MS-DOS awk JGAWK.EXE mail.awk JGAWK.EXE MS-DOS MS-DOS C: awkjgawk. EXEEnter JGAWK. mail. awk AWK 1.AWK - 2. AWK f mail.awk Enter jgawk-f mail.awk c: eudora.mbx { print> mail.csv mail.csv AWK MS-DOS 172
JGAWK.EXE mail.awk. MS-DOS C: awkexit EnterMS-DOS ( ). MS-Excel mail.csv MS-Excel ExcelExcel CSV Excel mail.csv Excel CSV CSVComma Separated Value format 173
2000 MS-DOS Excel Excel 174
, Excel. Excel Excel mail.xls 10 11 10 Excel 11 Excel 175
2000. mail. csv MailAddress,Date,Week,StandardTime,Subject hatano@in.kasei.ac.jp,27 May 1998 14:12:09,Wed, +0200,Re: edo@in.kasei.ac.jp,09 Apr 1998 17:06:18,Thu, +0300, edo@in.kasei.ac.jp,10 Apr 1998 12:27:39,Fri, +0900,1998 edo@in.kasei.ac.jp,10 Apr 1998 17:17:15,Fri, +0900, edo@in.kasei.ac.jp,30 Apr 1998 10:31:31,Thu, +0900, edo@in.kasei.ac.jp,25 May 1999 16:03:50,Tue, +0900,Notification for mt-is@cs.kasei.ac.jp,19 Jun 1998 11:33:36,Fri, +0900,1 mt-is@cs.kasei.ac.jp,21 Jul 1998 17:37:08,Tue, +0900, mt-is@cs.kasei.ac.jp,5 Aug 1998 09:11:00,Wed, +0900, mt-is@cs.kasei.ac.jp,6 Aug 1998 09:33:33,Thu, +0900, mt-is@cs.kasei.ac.jp,3 Sep 1998 11:01:20,Thu, +0900, mt-is@cs.kasei.ac.jp,4 Sep 1998 14:25:30,Fri, +0900, mt-is@cs.kasei.ac.jp,10 Sep 1998 14:47:58,Thu, +0900,. mail.xls MailAddress Date Week StandardTime Subject hatano@in.kasei.ac.jp 1998/5/27 14:12 Wed +0200 Re: edo@in.kasei.ac.jp 1998/4/917:06 Thu +0300 edo@in.kasei.ac.jp 1998/4/10 12:27 Fri +0900 1998 edo@in.kasei.ac.jp 1998/4/10 17:17 Fri +0900 edo@in.kasei.ac.jp 1998/4/30 10:31 Thu +0900 edo@in.kasei.ac.jp 1999/5/25 16:03 Tue +0900 Notification for mt-is@cs.kasei.ac.jp 1998/6/19 11:33 Fri +0900 mt-is@cs.kasei.ac.jp 1998/7/21 17:37 Tue +0900 mt-is@cs.kasei.ac.jp 1998/8/59:11 Wed +0900 mt-is@cs.kasei.ac.jp 1998/8/69:33 Thu +0900 mt-is@cs.kasei.ac.jp 1998/9/311:01 Thu +0900 mt-is@cs.kasei.ac.jp 1998/9/414:25 Fri +0900 mt-is@cs.kasei.ac.jp 1998/9/10 14:47 Thu +0900 176
AWK Excel 1 RFC822: Standard for ARPA InternetText Messages 1982.5 David H. Crocker 2 sendmail1994.8 Bryan Costales Eric Allman Neil ricket 3 1996.7 4 1996.5 5 1997.7 Alfred V.Aho Peter J.Weinberger Brian W.Kernighan 177