Date: Tue, 25 Jan 2000 17:41:17 -0600 (CST) From: Ryan Thompson <freebsd@sasknow.com> To: courtney@whtz.com Cc: questions@FreeBSD.ORG Subject: Re: Perl Script Message-ID: <Pine.BSF.4.10.10001251729320.36926-100000@sasknow.com> In-Reply-To: <85256871.007E0786.00@mail.whtz.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Jan 2000 courtney@whtz.com wrote:
>
> hey everyone...
>
> I am looking for some advice, or how to write a perl script that will open
> a file, and search it for a pre-determined string, and then output a few
> characters of that file to another file...
>
> I.E. it opens file "a" and looks for the test "Bernie Courtney"
>
> it then takes the next 4 characters after "Bernie Courtney" and writes them
> to file "B"
>
> this seems like it could be done fairly simply....can anyone help me out
> with this...
>
> Thanks in advance
>
> Bernie Courtney
Sure, it is rather simple. What you want to accomplish can be done with a
single regular expression, and the standard file IO fluff :-)
Since you said you want to create a script, include the following. I have
NOT tested this, so please excuse any errors.
You may want to replace the input file "a" and output file "B" stuff with
STDIN/STDOUT, or make them command line arguments. I'm just trying to
follow your message to the letter, here :-)
#!/usr/bin/perl
open INFILE, "<a";
my (@file) = <INFILE>;
close INFILE;
open OUTFILE, ">B";
select OUTFILE;
my $lines = join(/ /, @file); # Join all lines together, including
# newline characters
# Regular expression. Match the string 'Bernie Courtney', with any four
# characters following. Print ONLY those four characters to the selected
# device, OUTFILE. Case sensitive. Use /ige instead of /ge for case
# insensitive matches.
$lines =~ s/Bernie\sCourtney(.{4})/print $1/ge;
close OUTFILE;
__END__; # Done.
Hope this helps!
Virtually yours,
- Ryan
--
Ryan Thompson <ryan@sasknow.com> 50% Owner, Sysadmin
SaskNow Technologies http://www.sasknow.com
#106-380 3120 8th St E Saskatoon, SK S7H 0W2
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10001251729320.36926-100000>
