shell-script-pt
[Top][All Lists]
Advanced

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

Função para alterar arquivo


From: Alain M.
Subject: Função para alterar arquivo
Date: Fri, 12 Sep 2008 00:21:45 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]