[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Achar uma coluna
From: |
SuSE List |
Subject: |
Re: [shell-script] Achar uma coluna |
Date: |
Tue, 15 Mar 2005 18:30:57 -0300 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
Achei Alain,
vou pegar carona nas respostas do meu amigo MrBits e do Aurelio:
-------- Original Message --------
Subject: Re: RES: [shell-script] deletar ( parte 2)
Date: Wed, 17 Nov 2004 23:44:12 -0000
From: pinguimrmbr <address@hidden>
Reply-To: address@hidden
To: address@hidden
> dá pra usar um SEDão também:
>
> sed 's/\([A-Z]\) \([0-9]\)/\1, \2/'
>
> que colocará a vírgula nesse padrão que você falou:
>
> $ echo RUA PALMEIRAS 89 | sed 's/\([A-Z]\) \([0-9]\)/\1, \2/'
> RUA PALMEIRAS, 89
>
> $ echo RUA DAS MOÇAS 89 | sed 's/\([A-Z]\) \([0-9]\)/\1, \2/'
> RUA DAS MOÇAS, 89
Holy shit !
Uma aplicacao pratica de "retrovisores", entao ?
E se eu tenho varios espacos entre MOÇAS e 89, esses espacos todos
sao "ignorados", o mesmo acontecendo se eu tenho varios espacos entre
RUA e DAS.
A pergunta é: POR QUE ?
echo RUA PALMEIRAS 89 | sed 's/\([A-Z]\) \([0-9]\)/\1, \2/'
sempre me resulta em
RUA PALMEIRAS, 89.
Qual é a magica ? A expressao passada no sed nao é "substitua todos
os caracteres maiusculos que encontrar, seguidos por um espaco,
seguido por numeros, pelos seus retrovisores, separados por virgula e
espaco" ?
A substituicao dos varios espacos entre PALMEIRAS e 89 faz sentido:
imprimimos , Retrovisor da expressao 2 ([0-9]). Mas pq os espacos da
RUA PALMEIRAS sao compactados no Retrovisor 1 ?
[]´s
-------- Original Message --------
Subject: Re: RES: [shell-script] deletar ( parte 2)
Date: Thu, 18 Nov 2004 09:25:03 -0300 (ART)
From: Aurelio Marinho Jargas <address@hidden>
Reply-To: address@hidden
To: address@hidden
alou mrbits,
--- pinguimrmbr <address@hidden> escreveu:
> E se eu tenho varios espacos entre MOÇAS e 89, esses espacos
> todos sao "ignorados", o mesmo acontecendo se eu tenho varios
> espacos entre RUA e DAS.
> A pergunta é: POR QUE ?
>
> echo RUA PALMEIRAS 89 | sed 's/\([A-Z]\) \([0-9]\)/\1,
> \2/'
>
> sempre me resulta em
>
> RUA PALMEIRAS, 89.
hehehehe, correndo o risco de te fazer bater a cabeça na
parede, vou responder mesmo assim:
$ echo RUA PALMEIRAS 89
RUA PALMEIRAS 89
$ echo "RUA PALMEIRAS 89"
RUA PALMEIRAS 89
$
;)
=====
--
Aurelio Marinho Jargas, Curitiba, Conectiva
[]s
Vinny
SuSE List wrote:
> Beleza Alain,
>
> Eu parti do pressuposto que o shell/awk eliminam os espaços em branco
> desnecessarios......isso circulou aqui na lista um tempinho atras....me
> corrijam se eu estiver falando besteira.....
>
> Mas beleza, se ajudou, ja valeu a pena.......
>
> []s
>
> Vinny
>
> Alain wrote:
>
> > Oi Vini,
> >
> > Obrigado pela força, mas é mais complicado: Naquelas primeiras colunas,
> > poder um espaço em branco a mais :(( isso estraga todo o raciocínio por
> > colunas
> >
> > Pelo awk dá para separar por colunas fixas, mas preciso descobrir
> > primeiro que colunas são essas analizando a primeira linha
> >
> > ACHEI: ensando um pouco sobre o awk:
> >
> > echo " remote refid st t when poll reach delay
> > offset" | awk '{print match($0,"reach")}'
> >
> > responde 49
> >
> > agora eu posso fazer ${LINHA:49:5} e ter certeza que pequei o dado
> > certo. Esse script tem muito trabalho pela frente...
> >
> > Obrigado pelo apoio ;-)
> >
> > Alain
> >
> > SuSE List escreveu:
> > > Alain,
> > >
> > > Da pra fazer isso, usando " " como caracter separador de campos....em
> > > função disso cada campo tem um "espaço", o reach seria o setimo
> > > campo....com o que vc mandou fiz o seguinte teste:
> > > Também atentando que possa ter mais de um espaco em branco, seja no
> > > inicio ou no fim da coluna.....veja:
> > >
> > > msp01:/home/vinicius # cat texto.txt
> > > +ntp1.pucpr.br tick.ucla.edu 2 u 716 1024 377 237.626
> > 19.915
> > > 11.058
> > > paulo.hiway.com Tick.UH.EDU 2 u 159 1024 377 385.982
> > 77.252
> > > 427.978
> > >
> > > msp01:/home/vinicius # cat texto.txt | awk -F" " '{print
> > > $7"\t"$8"\t"$9"\t"$10}'
> > > 377 237.626 19.915 11.058
> > > 377 385.982 77.252 427.978
> > >
> > > msp01:/home/vinicius # cat texto.txt | awk -F" " '{print $7" "$8" "$9"
> > > "$10}'
> > > 377 237.626 19.915 11.058
> > > 377 385.982 77.252 427.978
> > >
> > > ou ainda, imprimindo também a primeira coluna também:
> > >
> > > msp01:/home/vinicius # cat texto.txt | awk -F" " '{print $1" "$7" "$8"
> > > "$9" "$10}'
> > > +ntp1.pucpr.br 377 237.626 19.915 11.058
> > > paulo.hiway.com 377 385.982 77.252 427.978
> > >
> > > msp01:/home/vinicius # cat texto.txt | awk -F" " '{print
> > > $1"\t"$7"\t"$8"\t"$9"\t"$10}'
> > > +ntp1.pucpr.br 377 237.626 19.915 11.058
> > > paulo.hiway.com 377 385.982 77.252 427.978
> > >
> > >
> > > O parametro "\t" entre aspas é o caracter de tabulação no awk....
> > > é isso que vc precisa?
> > >
> > > []s
> > >
> > > Vinny
> > >
> > > Alain wrote:
> > >
> > >
> > >>Eu não quis entupir a lista com listagens, mas aqui vai uma
> nescessária.
> > >>O comando retorna:
> > >>
> > >>[root@servnet1 root]# ntpq -p
> > >> remote refid st t when poll reach delay
> offset
> > >> jitter
> >
> >>==============================================================================
> > >>+ntp1.pucpr.br tick.ucla.edu 2 u 716 1024 377 237.626 19.915
> > >>11.058
> > >> paulo.hiway.com Tick.UH.EDU 2 u 159 1024 377 385.982
> 77.252
> > >>427.978
> > >>
> > >>A primeira linha serve de título, eu preciso testar aquele 377 embaixo
> > >>do reach. Só que, vendo listas semelhantes na lista do ntp, acontece o
> > >>seguinte: 1) na segunda coluna (pulando o primeiro caracter) e na
> > >>terceira podem existir " ", e 2) a largura e quantidade das
> colunas não
> > >>é sempre exata mas varia com as versões.
> > >>
> > >>Portanto eu preciso achar a posição da palavra "reach" na primeira
> linha
> > >>para recortar as linhas apartir da terceira
> > >>
> > >>Alain
> > >>
> > >>SuSE List escreveu:
> > >>
> > >>>Alain,
> > >>>
> > >>>Estas colunas tem tamanho fixo??? Você quer ler a partir do primeiro
> > >>>caracter da coluna reach ate o final, desprezando os caracteres
> > >>>iniciaiss ou vc só quer exibir as 4 ultimas colunas......de um
> exemplo
> > >>>que fica mais facil....pois existem varias formas de se fazer isso...
> > >>>
> > >>>Alain wrote:
> > >>>
> > >>>
> > >>>>Eu tenho a saída de um comando (ntpq) assim (primeira linha):
> > >>>>
> > >>>> remote refid st t when poll reach delay
> offset
> > >>>> jitter
> > >>>>
> > >>>>como eu faço para ler a coluna em que começa a palavra "reach"? Ou
> > seja
> > >>>>o número de caracteres desde o começo da linha.
> > >>>>
> > >>>>grtato,
> > >>>>Alain
> > >>
> > >>
> > >>---------------------------------------------------------------------
> > >>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: address@hidden
> > >>---------------------------------------------------------------------
> > >>Esta lista é moderada de acordo com o previsto em
> > >>http://www.listas-discussao.cjb.net
> > >>---------------------------------------------------------------------
> > >>
> > >>
> > >>
> > >>*Yahoo! Grupos, um serviço oferecido por:*
> > >>
> > >>*
> >
> >><http://br.rd.yahoo.com/SIG=12adu0u0d/M=264105.3931087.6562589.1588051/D=brclubs/S=2137111254:HM/EXP=1110993832/A=2361264/R=6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/>*
> > >>
> > >>
> > >>
> >
> >>------------------------------------------------------------------------
> > >>*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:
> > >> address@hidden
> > >>
> > <mailto:address@hidden?subject=Unsubscribe>
> > >>
> > >> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > >> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > >>
> > >>
> > >
> > >
> > >
> > >
> > > [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: address@hidden
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > 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: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> >
> >
> >
> > *Yahoo! Grupos, um serviço oferecido por:*
> >
> > *
> >
> <http://br.rd.yahoo.com/SIG=12aj8ipc1/M=264105.3931087.6562589.1588051/D=brclubs/S=2137111254:HM/EXP=1111006012/A=2361264/R=6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/>*
> >
> >
> >
> > ------------------------------------------------------------------------
> > *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:
> > address@hidden
> >
> <mailto:address@hidden?subject=Unsubscribe>
> >
> > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> >
> >
>
>
>
> [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: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:*
>
> *
> <http://br.rd.yahoo.com/SIG=12a8drruu/M=264105.3931087.6562589.1588051/D=brclubs/S=2137111254:HM/EXP=1111008035/A=2361264/R=6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/>*
>
>
>
> ------------------------------------------------------------------------
> *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:
> address@hidden
> <mailto:address@hidden?subject=Unsubscribe>
>
> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] Comparando datas, (continued)
- Re: [shell-script] Comparando datas, andre silva, 2005/03/14
- Re: [shell-script] Comparando datas, Beatriz Langiano, 2005/03/14
- Re: [shell-script] Comparando datas, Ragner Magalhaes, 2005/03/14
- Re: [shell-script] Comparando datas - Obrigada, Beatriz Langiano, 2005/03/15
- Achar uma coluna, Alain, 2005/03/15
- Re: [shell-script] Achar uma coluna, SuSE List, 2005/03/15
- Re: [shell-script] Achar uma coluna, Alain, 2005/03/15
- Re: [shell-script] Achar uma coluna, SuSE List, 2005/03/15
- Re: [shell-script] Achar uma coluna, Alain, 2005/03/15
- Re: [shell-script] Achar uma coluna, SuSE List, 2005/03/15
- Re: [shell-script] Achar uma coluna,
SuSE List <=
- Re: [shell-script] Achar uma coluna, Alain, 2005/03/15
- Shell execura Lynx, Erick Augusto Costa da Costa, 2005/03/16
- Re: [shell-script] Shell execura Lynx, Claudio Sá de Abreu, 2005/03/16
- Re: [shell-script] Shell execura Lynx, Erick Augusto Costa da Costa, 2005/03/16