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