Hello Everyone,
Im trying to run a search and replace of exact strings and the strings that im using variables that are passed through an array in a while loop. Here is a snip of my code:
USEROLD=`cat oldusers`
USERNEW=`cat newusers`
USEROLDARRAY=( $USEROLD )
USERNEWARRAY=( $USERNEW )
arraylength=`cat oldusers | wc -l`
i=0;
while [ "$i" -lt "$arraylength" ]
do
fromold=${USEROLDARRAY["$i"]};
fromnew=${USERNEWARRAY["$i"]};
echo "Replacing $fromold with $fromnew"
cat groups.almost | sed s/$fromold/$fromnew/g >> tmpfile
mv tmpfile groups.almost
let "i = $i +1"
done
mv groups.almost groups.final
in the oldusers file there is a list of users which some of them have their name in part or other users names so doing a replacment of say the user "lin" with "xlin" has resulted in replacing a user that had the word "lin" in their user name like "maklin" and maklin ends up being "makdlin". I also tried adding \b around my $fromold variable but no such luck. Anyone have an idea?