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

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

Re: [shell-script] Re: Selecionar intervalo de caracteres com cut


From: Julio C. Neves
Subject: Re: [shell-script] Re: Selecionar intervalo de caracteres com cut
Date: Tue, 24 Sep 2013 12:51:06 -0300

A
solução que vc escolheu foi:
$ cat Documento.txt | cut -f1 -d- | grep ^[0-9]

Mas vc tb pode fazer:
$ grep -Eo '[0-9]+' Documento.txt

Obs:
Evite fazer:
cat Documento.txt | cut -f1 -d- 
Prefira fazer:
cut -f1 -d- Documento.txt

Outra OBS:
Da forma que vc fez, o espaço em branco após o número está indo junto.




Abcs,
Julio
@juliobash



Em 23 de setembro de 2013 23:40, Anderson Junior <address@hidden> escreveu:
 

Obrigado a todos os colegas....

tiago.peczenyj não sei onde ele pode terminar, pode ser 1, 2, 3, 4 ou mais dependendo de quantas linhas tem no txt....

Flavio seria quase isso, mas someten os numeros do inicio....

Alfredo Casanova é isso mesmo que eu preciso...

oque eu quero é pegar somente a primeira coluna, sendo somente os numeros, eu achei que usando somente o cut daria pra fazer, mas assim:

$ cat Documento.txt | cut -f1 -d- | grep ^[0-9]

ja ficou ótimo, muito obrigado a todos....

Att.
Anderson Junior

--- Em address@hidden, Alfredo Casanova <atcasanova@...> escreveu
>
> Juro que li 4 vezes e não consegui entender, então vamos lá
>
> $ cat Documento.txt
> 1 - Nome1
> 2 - Nome2
> bla bla bla
> 3 - Nome3
> linha com inicio em branco
> 4 - Nome4
> 5 - Nome5
>
> $ cat Documento.txt | cut -f1 -d-
> 1
> 2
> bla bla bla
> 3
> linha com inicio em branco
> 4
> 5
>
> $ cat Documento.txt | cut -f1 -d- | grep ^[0-9]
> 1
> 2
> 3
> 4
> 5
>
>
>
> $ cat Documento.txt | cut -f2 -d-
> Nome1
> Nome2
> bla bla bla
> Nome3
> linha com inicio em branco
> Nome4
> Nome5
>
> $ cat Documento.txt | grep ^[0-9]
> 1 - Nome1
> 2 - Nome2
> 3 - Nome3
> 4 - Nome4
> 5 - Nome5
>
> $ cat Documento.txt | grep ^[0-9] | cut -f2 -d-
> Nome1
> Nome2
> Nome3
> Nome4
> Nome5
>
> $ cat Documento.txt | grep ^[0-9] | cut -f1 -d-
> 1
> 2
> 3
> 4
> 5
>
>
> esses são os exemplos pro que pensei q TALVEZ vc possa estar querendo
>
>
>
> 2013/9/23 Flavio Steimacher <flavio.0@...>
>
> > **
> >
> >
> > Talvez você queira algo como:
> > egrep "^[0-9]" Documento.txt
> >
> > que vai produzir esta saída:
> >
> > 1 - Nome1
> > 2 - Nome2
> > 3 - Nome3
> >
> > 4 - Nome4
> > 5 - Nome5
> >
> > é isso?
> >
> >
> >
> > Em 23 de setembro de 2013 07:32, Tiago Peczenyj <tiago.peczenyj@...>escreveu:
> >
> > **
> >>
> >>
> >> se vc SABE em que caracter ele termina, vc pode usar -cRANGE por
> >> exemplo
> >>
> >> $ echo "1234567890" | cut -c3-5
> >>
> >> pega da terceira à quinta posição.
> >>
> >> se vc quer extrar o que PARECE um numero de um dado campo, vc pode fazer
> >> combinar com o grep
> >>
> >> $ echo "blabla numero123 blabla" | cut -f 2 -d ' ' | grep -oE '\d+'
> >>
> >> -o vai extrar APENAS o que vc quer. ou usa o sed pra remover o que nao eh
> >> numero
> >>
> >>
> >>
> >> 2013/9/23 Anderson Junior <andersonscinfo@...>
> >>
> >>> **
> >>>
> >>>
> >>> Boa noite pessoal da lista, é possivel selecionar intervalos de
> >>> caracteres, tipo tenho um documento assim
> >>>
> >>> Documento.txt
> >>> 1 - Nome1
> >>> 2 - Nome2
> >>> outra coisa
> >>> 3 - Nome3
> >>> linha com inicio em branco
> >>> 4 - Nome4
> >>> 5 - Nome5
> >>>
> >>> com o comando cut -d - -s -f 1 Documento.txt
> >>> eu concigo pegar todas os itens, mas vem junto as strings e eu queria
> >>> somente os numeros
> >>>
> >>> algo como cut -opcao [0,1,2,3,4,5,6,7,8,9] Documento.txt ou
> >>> cut -opcao [0..9] ou [0-9]
> >>>
> >>> tem como fazer isso com o cut?
> >>>
> >>> Att.
> >>> Anderson Junior
> >>>
> >>>
> >>
> >>
> >> --
> >> Tiago B. Peczenyj
> >> Linux User #405772
> >>
> >> http://about.me/peczenyj
> >>
> >>
> >
> >
> > --
> > Atenciosamente,
> >
> > Flavio Steimacher
> > *DBA Oracle
> > LPIC1 - Linux Professional Institute Certified
> > CLA - Novell Certified Linux Administrator
> > DCTS - Novell Data Center Technical Specialist*
> >
> >
> >
>
>
>
> --
> []'s
> Alfredo Casanova
> Linux User #228230
> msn: atcasanova@...
> tel: +55 61 9655 9619
>



reply via email to

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