[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Sed sem guloso...
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] Sed sem guloso... |
Date: |
Wed, 30 Jul 2003 16:15:24 -0300 (BRT) |
On Wed, 30 Jul 2003 3:25pm -0300, Frederico Argolo wrote:
> #cat arq
> teste1:NovoTexto:blabla:lala:::::
>
> Tentei algo assim:
> # sed 's/:.*\?:/:NovoTexto:/' arq
> teste1:NovoTexto:
>
> Ou seja, nao to conseguindo fazer o sed parar no
> primeiro ':' que encontrar...ele esta indo até o
> ultimo!
$ cat arq && sed 's/:\([^:]\)*/:NovoTexto/' arq
teste1:Quero Substituir:blabla:lala:::::
teste1:NovoTexto:blabla:lala:::::
$ (IFS=: p=($(<arq)) p[1]=NovoTexto; for i in ${p[*]}; do echo -n "$i:"; done)
teste1:NovoTexto:blabla:lala:::::
$ type f
f is a function
f ()
{
IFS=: p=($(<$1)) p[${2}]=$3;
for i in ${p[*]};
do
echo -n "$i:";
done
}
$ f arq 1 NovoTexto
teste1:NovoTexto:blabla:lala::::
--
Felipe Kellermann