Duvidas relacionado ao Sed (Desafio)

1. Duvidas relacionado ao Sed (Desafio)

willian Ricardo Soares da Silva
willricardo

(usa Ubuntu)

Enviado em 30/09/2008 - 10:27h

Galera Segue o script abaixo do que eu estou tentando efetuar, acontece o seguinte tenho am uma pasta qualquer 300 arquivos e cada arquivo contem em media dez string de conexão com o banco de dados, então desenvolvi este Script que passei abaixo que me satisfaz e muito nesta alteração, porém eu tenho um problema, pois tenho varios ambientes pra rodar este Script, só que as senhas são diferentes.

Ex. tem ambiente que a senha do banco é teste20 e tenho que altera-la para correto20, pois o Sed pega meu usuario e senha de conexão com o banco e altera
"sed '-e s/teste20@D03MB1;1/correto20@D03MB1;1/g".

Agora tenho um problema que é o seguinte eu tenho 40 ambientes e cada ambiente os usuarios são por exemplo MTAAPP1....MTAAPP2...e etc.

Então quando copio este programinha pra rodar em outros ambientes tenho que arrumar toda a estrutura do meu Script, pois se não não ira ficar correto.

Gostaria de saber se tem como eu pegar este usuario e senha default do Ambiente?!

A solução que estou encontrando é colocar uma variavel read e informar os dados que quero alterar manualmente, porém não sei se é muito viavel, pois va que um dia digito errado, pronto ferrei toda a estrutura de meu ambiente.

Não sei fui claro, mas pode perguntar que explico novamente.

Segue abaixo o Script.



mkdir INFO





ll -tr > ./INFO/allFiles



i=1

while [ $i -le `wc -l INFO/allFiles` ]

do









fileInDir=`sed -n ${i}p INFO/allFiles | awk '{ print $9 }'`

echo " $fileInDir "

arrayfFles[$i]=$fileInDir

echo " ${arrayfFles[$i]} \n"



cp -f ${arrayfFles[$i]} ${arrayfFles[$i]}_bkup



sed '-e s/teste16@D03MB1;1/juno160@D03MB1;1/g' ${arrayfFles[$i]}_bkup > ${arrayfFles[$i]}_sed

sleep 1

sed '-e s/teste16\/teste16/teste16\/JUNO160/g' ${arrayfFles[$i]}_bkup > ${arrayfFles[$i]}_sed

sleep 1

sed '-e s/pass="teste16"/pass="JUNO160"/g' ${arrayfFles[$i]}_bkup > ${arrayfFles[$i]}_sed

sleep 1



mv ${arrayfFles[$i]}_sed ${arrayfFles[$i]}


i=$((i+1))

done



rm -rf INFO



sed '-e s/teste16@D03MB1;1/1;5;mtaapp16\/juno160@D03MB1;1/g' pmenvironment.txt > pmenvironment.txt_x

mv pmenvironment.txt_x pmenvironment.txt



chmod 755 *



echo "FINISH !!!";


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts