On Friday, Oct 6th 2006 at 11:07 -0400, quoth Anthony J Placilla: =>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 => Done with 100% Pure Bash. No adulterations. Feel free to pee into it to suit your taste. #!/bin/bash typeset -a ddat typeset ii typeset jj typeset lpart # last part typeset fpart # first part typeset value ddat[0]="81230:jsmith" ddat[1]="82111:mdoe" for ii in *.txt do lpart=${ii#*d_} fpart=${lpart%%_*} for jj in "${ddat[@]}" do [[ "$fpart" = ${jj%:*} ]] && mv $ii ${fpart}d_${jj#*:}_${lpart#*_} done done -- Time flies like the wind. Fruit flies like a banana. Stranger things have .0. happened but none stranger than this. Does your driver's license say Organ ..0 Donor?Black holes are where God divided by zero. Listen to me! We are all- 000 individuals! What if this weren't a hypothetical question? steveo at syslang.net