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 reador die "Unable to rename file: $dirName/$fileName to $dirName/$newName, $!\n";
-------- Original Message -------- Subject: script help request From: Paul Lemmons <paul.lemmons@xxxxxxxxx> To: For users of Fedora Core releases <fedora-list@xxxxxxxxxx> 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@xxxxxxxx> To: For users of Fedora Core releases <fedora-list@xxxxxxxxxx> Date: 10/06/2006 08:07 AMOk, 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@xxxxxxxxx title:Lead Systems Software Engineer tel;work:520-324-1034 tel;fax:520-324-1206 tel;pager:paullem@xxxxxxxxx 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