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

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

Re: [shell-script] como alterar linha de arquivo


From: Fábio Batista
Subject: Re: [shell-script] como alterar linha de arquivo
Date: Wed, 30 Mar 2005 20:51:39 -0300

Iniciei um pequeno editor de inis...
O chato é que ele não insere uma chave, se a chave não existir.
Se alguém quiser se propor a implementar isso...



[fabio@elefante ini]$ cat exemplo.ini
[secao]
parametro=1

[secao2]
parametro=2

[outra]
x=y
z=z
a=a

[fabio@elefante ini]$ cat ini.sh
#!/bin/bash
# vim:ts=2

SECAO="$1"
shift

PARAM="$1"
shift

if [ -z "$SECAO" ];
then
        echo "Você deve fornecer o nome da seção"
        exit 1
fi
if [ -z "$PARAM" ];
then
        echo "Você deve fornecer o nome do parâmetro"
fi

sed -r "/$SECAO/,/^\[/ s/^($PARAM=).*$/\1$*/"

[fabio@elefante ini]$ ./ini.sh secao2 parametro valor do parametro < exemplo.ini
[secao]
parametro=1

[secao2]
parametro=valor do parametro

[outra]
x=y
z=z
a=a


-- 
Fábio David Batista
address@hidden
http://nerd-o-matic.blogspot.com

On Wed, 30 Mar 2005 17:23:42 -0300, Alain <address@hidden> wrote:
>  Oi Luis, eu também tenho um problema em espera como esse. Na verdade 
>  arquivos como o smb.conf representam um problema um pouco mais 
>  complicado: Existem partes separadas por [colchetes], dentro desta parte 
>  é que tem que ser achar a linha, testando o que está *antes* do '='. 
>  Exemplo:
>  
>  # Diretorio para instalacao
>  [install]
>  path = /home/install
>  read only = yes
>  write list = alain,root
>  # Diretorio do Administrativo
>  [admin]
>  path = /home/admin
>  
>  Agora suponha que eu queira mudar dentro de "[install]" a linha "path" 
>  para "/install". Ou a linha pode até não exitir e tem que ser criada 
>  antes da próxima linha com "[" ...
>  
>  Aceitamos sugestões...
>  
>  grato,
>  Alain
>  
>  
>  Luis Tiani escreveu:
>  > Tente algo do tipo:
>  > 
>  > $ sed -i 's/<texto_procurado>/<texto_alterado>/g' /etc/smb.conf
>  > 
>  > On Tue, 29 Mar 2005 21:19:30 -0300, Ricardo Paiva <address@hidden>
> wrote:
>  > 
>  >>Pessoal tem como editar uma linha de um arquivo tipo smb.conf, entrar no
>  >>arquivo pesquisar uma determinada linha e substituí-la por outra que
> tenha
>  >>no script ???
>  > 
>  > 
>


reply via email to

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