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

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

Re: [shell-script] controle do ponteiro de leitura de um arquivo


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] controle do ponteiro de leitura de um arquivo
Date: Wed, 19 Mar 2008 14:38:22 -0300

prompt> cat xxx
keywor
sym
ISDN_homologado_Multiteste_SRS: 1.167 ( HEAD definido como 1 )
ISDN_homologado_Multiteste_SRS: 1.167 versao_3_3_e_1_3: 1.158 ( HEAD
definido como 2 )

prompt> grep -v -e keywor -e sym xxx | sed -r 's/:[[:blank:]]+[0-9\.]+/&\n/'
ISDN_homologado_Multiteste_SRS: 1.167
 ( HEAD definido como 1 )
ISDN_homologado_Multiteste_SRS: 1.167
 versao_3_3_e_1_3: 1.158 ( HEAD definido como 2 )

se vc quer imprimir apenas uma linha pode enfiar um head depois do
grep ou fazer

sed -nr '1{s/:[[:blank:]]+[0-9\.]+/&\n/;p;q}'

[]ś T

2008/3/17 Édnei Rodrigues <address@hidden>:
>
>
>
>
>
>
> Olha só a solução que montei para o meu problema...
>
>  cat tags.txt | grep -v keywor | grep -v sym | tr -s "\t" " " | head -n 1
>  Qual essa linha consigo pegar do arquivo tags.txt somente a primeira linha
>  do arquivo, onde "keywor" e "sym" são as linhas que não quero que saia.
>  Claro que o tags.txt já tinha sido filtrado pelo READ, no entanto, essa
>  linha de comando pego o que eu quero e jogo na entrada do zenity.
>
>  Ah, uma coisa que quero perguntar. O head , se eu defino 2 linhas, ele de
>  vez colocar uma embaixo da outra, ele coloca uma do lado da outra. Assim:
>  ISDN_homologado_Multiteste_SRS: 1.167 ( HEAD definido como 1 )
>  ISDN_homologado_Multiteste_SRS: 1.167 versao_3_3_e_1_3: 1.158 ( HEAD
>  definido como 2 )
>
>  Eu queria assim:
>
>  ISDN_homologado_Multiteste_SRS: 1.167
>  versao_3_3_e_1_3: 1.158
>
>  Há quebra de linha no comando head ?
>
>  Obrigado ao todos
>  Em 14/03/08, miranda <address@hidden> escreveu:
>
>
>  >
>  > On Thu, 2008-03-13 at 15:51 -0300, Édnei Rodrigues wrote:
>  > > Boa tarde. Estou usando o seguinte código:
>  > > cat tags.txt | while read linha;
>  > > do
>  > > frase= echo $linha
>  > > if [ $frase=="symbolic names:" ]; then
>  > >
>  > > done
>  > >
>  > > Arquivo:
>  > >
>  > > symbolic names:
>  > > ISDN_homologado_Multiteste_SRS: 1.167
>  > > versao_3_3_e_1_3: 1.158
>  > > ...
>  > >
>  > > O que eu quero: Pegar as linhas depois da condição dada. No entanto,
>  > > para
>  > > isso, eu preciso avançar uma linha para eu poder pegar a linha q eu
>  > > quero.
>  >
>  >
>  > Nesse exemplo dado acima , qual a linha(s?) você quer pegar ?
>  > É um número fixo de linhas ?
>  >
>  >
>  > >
>  >
>  >
>  > ------------------------------------
>  >
>  > ----------------------------------------------------------
>  > 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
>  > ----------------------------------------------------------
>  > Servidor Newsgroup da lista: news.gmane.org
>  > Grupo: gmane.org.user-groups.programming.shell.brazil
>  >
>  > Links do Yahoo! Grupos
>  >
>  >
>  >
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"

reply via email to

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