script help request

Paul Lemmons paul.lemmons at tmcaz.com
Fri Oct 6 17:14:56 UTC 2006


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 at SUTH.COM>
To: For users of Fedora Core releases <fedora-list at 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:
If you can't convince them, confuse them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: paul.lemmons.vcf
Type: text/x-vcard
Size: 393 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20061006/29c991b9/attachment-0001.vcf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3257 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20061006/29c991b9/attachment-0001.bin>


More information about the fedora-list mailing list