SED, using variables and in with an array
        Posted  
        
            by S1syphus
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by S1syphus
        
        
        
        Published on 2010-04-21T16:05:52Z
        Indexed on 
            2010/04/21
            16:43 UTC
        
        
        Read the original article
        Hit count: 330
        
What I am trying to do is run the sed on multiple files in the directory Server_Upload, using variables:
AB${count}
Corresponds, to some variables I made that look like:
  echo " AB1 = 2010-10-09Three " 
  echo " AB2 = 2009-3-09Foo " 
  echo " AB3 = Bar " 
And these correspond to each line which contains a word in master.ta, that needs changing in all the text files in Server_Upload.
If you get what I mean... great, I have tried to explain it the best I can, but if you are still miffed I'll give it another go as I found it really hard to convey what I mean.
cd Server_Upload
for fl in *.UP; do
     mv $fl $fl.old
     done
count=1
saveIFS="$IFS"
IFS=$'\n'
array=($(<master.ta))
IFS="$saveIFS"
for i in "${array[@]}"
do
    sed "s/$i/AB${count}/g" $fl.old > $fl
    (( count++ ))
done
It runs, doesn't give me any errors, but it doesn't do what I want, so any ideas?
© Stack Overflow or respective owner