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

Re: script help request



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


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