[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: script help request



All you have to do is press send and you see an error.
or die "Unable to rename file: $dirName/$fileName to $dirName/$newName, $1\n";
should read
or die "Unable to rename file: $dirName/$fileName to $dirName/$newName, $!\n";

-------- Original Message  --------
Subject: script help request
From: Paul Lemmons <paul lemmons tmcaz com>
To: For users of Fedora Core releases <fedora-list redhat com>
Date: 10/06/2006 10:14 AM
Try this. I am sure it could be done better but I think it will get the job done with minimum confusion to a person not very familiar with perl.

Just add your cross reference values to the %xref variable in the script.


#!/usr/bin/perl -w
%xref = ('81230','jsmith',
         '82111','mdoe',
        );

$dirName = '/my/directory';

opendir(DIR,$dirName) or die "Unable to open Directory: $dirName, $!\n";
while($fileName = readdir(DIR))
{
   if ($fileName =~ /^a_.{14}_b_.{7}_c_\d{2}_d_(\d{5}).*.txt$/)
   {
      $key = $1;
      if (defined($xref{$key}))
      {
         $newName = $fileName;
         $newName =~ s/$key/$xref{$key}/;

         print "Renaming $fileName -> $newName\n";
         rename("$dirName/$fileName","$dirName/$newName")
or die "Unable to rename file: $dirName/$fileName to $dirName/$newName, $1\n";
      }
   }
}
close(DIR);

-------- Original Message  --------
Subject: script help request
From: Anthony J Placilla <anthony_placilla SUTH COM>
To: For users of Fedora Core releases <fedora-list redhat com>
Date: 10/06/2006 08:07 AM

Ok, my perl-fu is non-existent.

I have a dir on an FTP server that contains multiple files that have a
naming structure like so

a_20061002201644_b_R01C002_c_30_d_81230_e_FOO_f_02_g_blah.txt

the value d_<whatever> will be a number that is actually can be mapped
to a name
for example, 81230 will be jsmith
82111 will be mdoe

etc.

I want to replace the number string with the name in each of, say 500
files & run it out of cron

pointers or clues would be welcome. I am militantly unopposed to using
*any* tool, (perl, php, sed & awk or waving dead chickens) to get the
job done




--
Murphy Says:
Old programmers never die - they just abend.
begin:vcard
fn:Paul Lemmons
n:Lemmons;Paul
org:Tucson Medical Center;Information Services
adr:;;5301 E. Grant Road;Tucson;AZ;85712;USA
email;internet:paul lemmons tmcaz com
title:Lead Systems Software Engineer
tel;work:520-324-1034
tel;fax:520-324-1206
tel;pager:paullem vtext com
tel;home:520-722-2642
tel;cell:520-603-7392
x-mozilla-html:TRUE
url:http://www.tmcaz.com
version:2.1
end:vcard

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]