SPUG: Output files

Dan Ebert mathin at mathin.com
Wed Apr 4 11:16:51 CDT 2001


Would something like this do the trick?

$file =~ /(.*)(sysinfo\.out|dept\.out|contact\.out)/;
$hostname = $1;
$filetype = $2;

Dan.
-----------------------------------------------------------
Optimists:  the glass is half full.
Pessimists: the glass is half empty.
Engineers:  the glass is twice as big as it needs to be.
-----------------------------------------------------------





On Tue, 3 Apr 2001, Jafaar Nyang'oro wrote:

> William,
> 
> No. You didn't miss a thread because no one had responded to
> the question I had asked:
> 
> To further expand on the same logic. I'm getting the output
> that's been generated by running an NT batch script. The batch
> script does 'ftp' all the info out into two zip files, and
> send them to an AIX box. 
> 
> Now, the script I'm creating is supposed to unzip the zip-ed
> files once they get into the AIX box, then grab the 'sysinfo.out', 'dept.out', and 'contact.out' files from among a whole bunch of extracted files. Then convert them to look like files created by the UNIX  processes. And finally to 'tar.Z' the output files.
> 
> The problem I run into time and again is that all the NT files
> contain the hostname as part of the filename. Since several
> people would run this batch file on their machine, it's
> evident that every zip file that would be ftp-ed to me would
> have a different name (although they will all have the 
> '_sysinfo.out','_dept.out', and '_contact.out' suffixes. 
> 
> So how do I tell my script to grab the appropriate filenames
> without having to hard-code everything? I'm stuck in the mud
> here.
> 
> For instance in this file 'DBWNT01_NTcontact.out', 'DBWNT01_NT'
> is the hostname of the machine and 'contact.out' is the supposedly
> filename. But I get the whole thing when the script runs. So how do I tell my script to grab that hostname info and add it into the file name. 
> 
> Do I make any sense here? I'm a bit confused.
> 
>   
> 
> Thanks.
> 
> ../seppy
> 
> 
> ---------- Original Message ----------------------------------
> From: William Rowden <rowdenw at eskimo.com>
> Date: Mon, 2 Apr 2001 18:36:09 -0700 (PDT)
> X-Mailer-Version: 20001120
> X-Recipient: mathin at mathin.com
> 
> >Did I miss a thread?  I don't see that anyone has answered this
> >question.  (I notice because I wait until the end of a thread to
> >decide if I'll save its messages.  Few trim their replies, so the
> >final message usually contains most of the thread.)
> >
> >On Mar 22, Jafaar Nyang'oro wrote:
> >> I need to create a script that would format the output from
> >> files created by processes running in Windows NT to look like
> >> the output that has been created by UNIX processes.
> >> 
> >> I have included the files in question below. I'll appreciate for
> >> any pointers on how to write that sort of a script. In all,
> >> there are three files: sysinfo.out, contacts.out, and dept.out
> >
> >A straightforward--but perhaps not very clever--approach would be as
> >follows:
> >
> >	1.  Write regular expressions for relevant information.
> >	2.  Capture changing information in variables.
> >	3.  Print new files by placing variables in standard text.
> >
> >> file: sysinfo.out
> >> 
> >> 
> >> Run Date: Tue Mar 20 16:17:36 CST 2001
> >> Operating System: SunOS
> >
> >A sample that prints in this format is below.  Hopefully your Perl
> >executable isn't in the bizarre location mine is.
> >
> >-----8<-----
> >#!/usr/local/bin/perl5 -w
> >
> >$dozfile = "nt-sysinfo.out";
> >$nixfile = "sysinfo.out";
> >
> >open (NT, "< $dozfile\0") or
> >    die "Can't open Windoze file $dozfile for reading: $!\n";
> >open (NIX, "> $nixfile\0") or
> >    die "Can't open *nix file $nixfile for reading: $!\n";
> >
> >while (<NT>) {
> >    next if /^\s*$/;    # Ignore blank lines.
> >    s/\s+$//;           # Remove trailing white space.
> >    if (/^(\w{3} \w{3} \d{1,2} \d{2}:\d{2}:\d{2}) (\d{4})$/) {
> >	$date = $1;
> >	$year = $2;
> >    }
> >    elsif (/^NT Type: (.*)$/) {
> >	$OS = $1;
> >    }
> >    # elsif etc.
> >}
> >
> >print NIX <<EOF
> >Run Date: $date CST $year
> >Operating System: $OS
> >EOF
> ># Include additional lines above the EOF.
> >-----8<-----
> >
> >> file: contact.out
> >
> >This one looks the same to me.
> >
> >> file: dept.out
> >> 
> >> Department(s): 704dss
> >
> >What's different about this?
> >
> >> file: nt-sysinfo.out
> >> 
> >> Thu Mar 22 01:27:20 2001
> >> NT Type: NT Advanced Server
> >
> >The REs above capture these.
> >-- 
> >    -William
> >PGP key: http://www.eskimo.com/~rowdenw/crypt/pgp/rowdenw.asc
> >Fingerprint: 00C9 6887 F073 A261 CE06  EC88 7D75 13BD 1221 2BA9
> >I'm not left-handed either.
> >
> >
> >
> >
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
> >      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
> >  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
> > For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
> >  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
> >
> >
> >
> 
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>      POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
>       Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
>   Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
>  For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
>   Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
> 
> 
> 


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/





More information about the spug-list mailing list