a solução apresentada por vc realmente funciona!
No entanto, para os propositos do script deixa-o amarrrado a somente uma
solução.
>veja se isso resolve
>sed 's/\(.*\) 0\.9\([0-9]\) \(.*\)/\1 0.5\2 \3/'
gostaria de fazer algo para funcionar com qualquer Parametro,
em que eu pudesse somente falar o nome do Parametro de referencia,
e apartir disso o script alterar o valor no lugar certo.
em PVT o Tiago Peczenyj sugeriu uma soluçao, em AWK, que estou testando,
mas ele avisa que perde a formatação. Vejam:
> basicamente eu procuro o campo e, uma vez encontrado, eu guardo o
> campo e o numero da linha. na linha seguinte eu substituo o campo pelo
> valor escolhido.
$ awk -v param='vcover' -v valor=30 'BEGIN{campo=-1; linha=-1;}
{ if(NR==linha){
$campo = valor
}
print $0
split($0,campos)
for(i in campos)
if (param==campos[i]){
campo=i; linha=NR+1
}
}' arquivo.txt
Poxa, longe de mim ter feito passar por uma crítica o comentário de "lista
meio parada".
Talvez tenha me expressado mal!
> um grupo onde fazem parte o Thobias e o Aurelio nunca é parado.
valeu!
acosta
--- Em shell-script@yahoogrupos.com.br, "Ricardo Acosta"
> <[EMAIL PROTECTED]> escreveu
>
> >
> > Enviei esta mensagem pra lista de expressoes regulares e sed,
> > mas a coisa estah um pouco parada por lah!
> > jah que a solução nao depende somente disso(sed e ER),
> > talvez alguem por aqui possa contribuir.
> > valeu
> > acosta
> > ....................
> > Camaradas,
> > gostaria de fazer um script para alterar o valor
> > de um parametro em um arquivo texto(mostrado abaixo).
> >
> > analisando o arquivo do exemplo abaixo, gostaria de executar a
> > seguinte alteração: parametro: vcover(linha 3, campo 3)
> > valor do parametro: de 0.90 para 0.50 (linha 4, campo 3)
> >
> > teria como eu vincular o comando de substituição do SED não somente a
> > linha do Parametro, mas também a posição do CAMPO?
> >
> > para imprimir a linha logo a seguir ao Parametro seria:
> > sed -n '/Parametro/{n;p;}' - retirado do Só Sed - Thobias
> >
> > mas como substituir o Campo correto? no caso o terceiro (0.90)
> > rola com SED?
> >
> > 1 - as linhas que iniciam com @ são linha de comentários
> > 2 - as linhas com texto mostram o nome do parametro e indicam a
> > posição do seu valor na linha logo abaixo
> > 3 - a linha com os valores/números estão abaixo da linha com o nome.
> > .............................................
> > @ offline veg parameters for Forest
> > @.. VEGN. TYPE-DEPENDENT STATIC PARAMETERS
> > z2 z1 vcover chil
> > 16.0 0.5 0.90 0.25
> > rootd phc
> > 1.5 -200.0
> > effcon gradm binter respcp atheta btheta
> > 0.08 9.000 0.01 0.015 0.98 0.95
> > acoef bcoef ccoef *(unplugged in 11/12/95)
> > 0.000 0.000 0.000
> > @.. SOIL TYPE, SOIL DEPTH, SOIL REFLECTANCES(VIS,NIR)
> > iinf slope
> > 2 0.01
> > @.. DERIVED OR SECONDARY PARAMETERS
> > vmax0 gmudmu green zlt
> > 0.0000750 0.9 0.95 4.0
> > z0d dd cc1 cc2
> > 0.8000 8.6226 7.88 345.90
> > .............................................
> >
> > []s
> > acosta
> >
> > --
> > __________________________
> > Ricardo Acosta
> > Laboratório de Clima e Biosfera
> > Departamento de Ciências Atmosféricas - USP/IAG/ACA
> >
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
>
> <http://br.ard.yahoo.com/SIG=12fgha8vg/M=399886.8024024.9299154.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1146587909/A=3594535/R=2/id=noscript/SIG=154ukt5c8/*http://lt.dell.com/lt/lt.aspx?CID=12257&LID=332199&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs>
> ------------------------------
> *Links do Yahoo! Grupos*
>
> - Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> - Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
> <[EMAIL PROTECTED]>
>
> - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>
--
__________________________
Ricardo Acosta
Laboratório de Clima e Biosfera
Departamento de Ciências Atmosféricas - USP/IAG/ACA
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.