Parsing a news article with source in it

Tom Christiansen tchrist at convex.COM
Fri Oct 12 23:42:44 AEST 1990


In article <838 at redford.UUCP> bill at redford.UUCP (Bill Poitras(X258)) writes:
>What I am trying to do is pipe a news article through a shell script
>(preferable /bin/sh) so that it parses the header, extracts the filename
>from the "Archive: ..." line, and then writes the rest of the file,
>from the '!# /bin/sh' line to the end to filename specified in the 
>"Archive: ..." line.  I can't seem to get the shell script to read up to
>the !# /bin/sh using <<.  There are basically two tasks:
>	1) Parsing the header, extracting the filename in the Archive line
>	2) Writing the rest of the file to the filename gotten from #1

>Does such a script exist?  Any help would greatly be appreciated.

It does now. :-)

#!/usr/bin/perl -n
if (1 .. /^$/) {
  die "can't write to $1: $!" if /^Archive:\s*(\S+)/ && !open(STDOUT, ">$1");
} elsif (/^!#\s*\/bin\/sh/ .. eof) {
  print;
}

I'd actually feel more confortable if I had some sample input, but
I believe this matches your spec.


--tom
--
 "UNIX was never designed to keep people from doing stupid things, because 
  that policy would also keep them from doing clever things." [Doug Gwyn]



More information about the Comp.unix.shell mailing list