Esta é uma outra parte daquele script. Usa um arquivo para armazenar 
variáveis. Só que estou achando minha rotina um "trambolho", inclusive 
porque tenho que ler primeiro para alterar depois...

Tenho um arquivo:
$ cat arq.txt
SubProjeto='testeProj'
Usuario=Teste
Min=30

Eu pretendo alterar o arquivo das sequintes maneiras
1) FileVarSet arq.txt Usuario Alain   # acrescentar
2) idem                               # alterar se já existe
3) FileVarSet arq.txt Usuario         # remover a linha

A seguinte função para alterar :
FileVarGet () {
#  $1 = ARQUIVO $2=VARIAVEL
   sed -n "/^$2=/{s///;p;q}" $1      # da dica anterior :)
}
FileVarSet () {
# $1 = ARQUIVO $2 = VARIAVEL $3 = DADO
   if [ -n "$3" ]; then
     if [ -n "$(FileVarGet $1 $2)" ]; then
       sed -i $1 -e s/^$2=.*/$2=$3/          # alterar linha exsitente
     else
       echo $2=$3 >> $1                      # acrescntar linha
     fi
   else
     sed -i $1 -e /^$2=.*/d                  # remover linha
   fi
}

Alguma sugestão?

Grato,
Alain

Responder a