----- Original Message -----
From: "William Martell" <[EMAIL PROTECTED]>
To: "William Martell" <[EMAIL PROTECTED]>
Sent: Monday, December 22, 2003 1:58 PM
Subject: Re: Newbie trying to cleanup/format text file


> Hi Stuart,
>
> I modified some of the code and it works better now.  I now have an array
> named 'data' that holds the names of the members.
>
>
> I attached the code and the sample input.
>
> HTH,
> William Martell
> Dallas Texas
> ----- Original Message -----
> From: "William Martell" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, December 22, 2003 12:57 PM
> Subject: Re: Newbie trying to cleanup/format text file
>
>
> > The code I posted will get rid of the unwanted text and extract the
names
> of
> > the members, putting them in an array.
> >
> > Take a look at my code again.  It should work.
> >
> > #!/perl
> >
> > open(INFILE, "stuart_clemens_ibm.txt") || die "Could not open file";
> >
> >
> > @data;  #declare array for later use
> >
> > # read file line by line
> > while ( $line = <INFILE> ){
> >
> > # get rid of all other lines
> > $a = "Group name";
> > $b = "Misc";
> > $c = "Comment";
> > $d = "These are the FOOBAR users";
> > $e = "Members";
> > $f =
> >
>
"---------------------------------------------------------------------------
> > ----";
> > $g = "The command completed successfully.";
> >
> >
> > # get rid of group name
> > $line =~ s/$a//;
> >
> > # get rid of Comment
> > $line =~ s/$b//;
> >
> > # get rid of Misc
> > $line =~ s/$c//;
> >
> > # get rid of "These are the foobar users
> > $line =~ s/$d//;
> >
> > # get rid of Members
> > $line =~ s/$e//;
> >
> > # get rid of dashes
> > $line =~ s/$f//;
> >
> > # get rid of command completed
> > $line =~ s/$g//;
> >
> > # get rid of blank lines
> > #$line =~ s/^\n//;
> >
> > # get the member names from each column
> > $col1 = substr($line, 0,24);
> > $col2 = substr($line, 25,24);
> > $col3 = substr($line, 50,24);
> >
> > # push the names onto an array
> > push @data, $col1;
> > push @data, $col2;
> > push @data, $col3;
> >
> >
> >  }
> >
> >
> > # print the array
> > print @data;
> >
> >
> >
> > I did not include code that would remove the leading and trailing spaces
> > from each element in the array.
> >
> >
> >
> >
> >
> >
> >
> >
> > ----- Original Message -----
> > From: <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Monday, December 22, 2003 12:41 PM
> > Subject: re: Newbie trying to cleanup/format text file
> >
> >
> > > I kept working at it and was finally able to get rid of the unwanted
> lines
> > > in the text file using a series of nested if's.  It's certainly not
> > > elegant, but it works !
> > >
> > > Surely there's a more efficient way to get rid of the unwanted lines.
> > >
> > >  Anyway, here's what I came up with for now.  This leaves the names in
> > > one, two, or three columns, but I know how to reformat them into one
> name
> > > per column.
> > >
> > > #!/usr/bin/perl -w
> > > use strict;
> > > $_ = "";
> > > open(INFILE, "c:\\foobar.txt")or die "sourcefile open failed - $!";
> > >
> > > while (<INFILE>){
> > >      if (not $_ =~ /^The request/){
> > >       if (not $_ =~ /^Group/){
> > >        if (not $_ =~ /^Comment/){
> > >         if (not $_ =~ /^Members/){
> > >          if (not $_ =~ /^------/){
> > >           if (not $_ =~ /^The command/){
> > >            if ($_ =~ /\S/){
> > >             print $_ ;
> > >            }
> > >           }
> > >          }
> > >         }
> > >        }
> > >       }
> > >      }
> > > }
> > > close
> > >
> > > The result of this code is this:
> > >
> > > arod                     cschilling               csenior
> > > ecostello                ffrank                   gbennett
> > > LBird                    PMartinez
> > >
> > > ----- Forwarded by Stuart Clemons/Westford/IBM on 12/22/2003 01:47 PM
> > > -----
> > >
> > > Stuart Clemons/Westford/IBM
> > > 12/22/2003 11:16 AM
> > >
> > > To
> > > [EMAIL PROTECTED]
> > > cc
> > >
> > > Subject
> > > Newbie trying to cleanup/format text file
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Hi all:
> > >
> > > I'm trying to cleanup and format this text file of user names, so that
I
> > > have one column of user names.  Here's the text file:
> > >
> > > The request will be processed at a domain controller for domain
FOOBAR.
> > >
> > > Group name        Misc
> > > Comment        These are the FOOBAR users
> > >
> > > Members
> > >
> >
>
> --------------------------------------------------------------------------
> > -----
> > >
> > > arod                     cschilling               csenior
> > > ecostello                ffrank                   gbennett
> > > LBird                    PMartinez
> > > The command completed successfully.
> > >
> > > I would like an output file to read like this:
> > >
> > > arod
> > > cschilling
> > > csenior
> > > ecostello
> > > ffrank
> > > gbennett
> > > LBird
> > > PMartinez
> > >
> > > I know how to put the names into one column, if I don't have all the
> extra
> > > lines.  So, I've been trying to figure out how to eliminate all lines
> > > except for the names.
> > >
> > > I tried opening the file, then using a "not match" regex to eliminate
> all
> > > lines except the name lines.  So far, I can't seem to eliminate more
> than
> > > one line of "not match".   Any help will be appreciated.  Here's my
> feeble
> > > newbie code.  This code will eliminate the "Group" line, but that's
it.
> I
> > > tried adding other conditionals to eliminate other unwanted lines, but
> > > they don't work.
> > >
> > > open(FH, "c:\\foobar.txt") or die "sourcefile open failed - $!";
> > > while
> >
>

> > >             if (not $_ =~ /^Group/)

> > >             print $_ ;
> > >             }
> > > }
> >
> >
>
>
Group name      Misc
Comment        These are the FOOBAR users

Members

-------------------------------------------------------------------------------
arod                     cschilling               csenior 
ecostello                ffrank                   gbennett 
LBird                    PMartinez 
The command completed successfully.

Attachment: stuart_clemens_ibm.pl
Description: Perl program

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>

Reply via email to