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

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

Re: [shell-script] ser apos n caracter


From: Julio C. Neves
Subject: Re: [shell-script] ser apos n caracter
Date: Tue, 4 Mar 2008 21:57:28 -0300

Fala Tiago, o problema é que o ksh é proprietário e por isso cada vendor
implementa o seu. No ksh do SVr4, que seria o "padrão", existem várias
expansões de variáveis, porém a que vc usou (${var:$ini:$len}) não existe.
Para fazer isso no SVr4 é necessário usar:

$ expr substr $var $ini $len

ou

$ echo $var | cut -c$ini-((ini+len))

É necessário o echo com pipe, pq tb não existe here string (<<<).

Abração,
Julio


Em 04/03/08, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
>   Julio,
>
> Existe alguma limitação de Shell que possa atrapalhar a opção via
> expansão de variaveis?
>
> Talvez usando o sh do BSD... sei la... ou KSH
>
> 2008/3/4 Julio C. Neves <address@hidden <julio.neves%40gmail.com>>:
> >
> > Vc copiou errado. O que postei foi:
> >
> > $ sed 's/\([0-9]\{2\}\)\([0-9]\{2\}\)/20\1 \2/;s/\./\//g' <<< 20.07.0714
> > :15:57
> > 20/07/2007 14:15:57
> >
> > Porém creio que isso não interessa mais, pois a solução do Tiago é muito
> > melhor pois usa bash puro e por isso é muito mais rápida.
> >
> > Abração,
> >
> > Julio
> >
> > Em 04/03/08, Djan Marques <address@hidden<djan.marques%40yahoo.com.br>>
> escreveu:
> > >
> > > Talvez eu não tenha interpretado corretamente mas ..
> > > sed 's/\([0-9]\{ 2\}\)\([0- 9]\{2\}\) /20\1 \2/;s/\./\//g' <<<
> 20.07.0714
> > > :15:57
> > > sed: -e expression #1, char 43: Invalid content of \{\}
> > >
> > > sed 's/\([0-9]\{ 2\}\)\([0- 9]\{2\}\) /20\1 \2/;s-\.-/-g' <<<
> 20.07.0714
> > > :15:57
> > > sed: -e expression #1, char 43: Invalid content of \{\}
> > >
> > > Não encontrei o erro.
> > >
> > > ----- Mensagem original ----
> > > De: Julio C. Neves <address@hidden <julio.neves%40gmail.com> <
> julio.neves%40gmail.com>>
> > > Para: 
> > > address@hidden<shell-script%40yahoogrupos.com.br><shell-script%40yahoogrupos.com.br>
>
> >
> >
> > > Enviadas: Terça-feira, 4 de Março de 2008 14:10:19
> > > Assunto: Re: [shell-script] ser apos n caracter
> > >
> > > Aê Djan,
> > > é provável que alguém te dê uma resposta mais otimizada, porém
> > > rapidamente,
> > > o que me ocorreu foi o seguinte:
> > >
> > > $ sed 's/\([0-9]\{ 2\}\)\([0- 9]\{2\}\) /20\1 \2/;s-\.-/-g' <<<
> > 20.07.0714
> > > :15:57
> > > 20/07/2007 14:15:57
> > >
> > > Na primeira parte do sed eu coloquei o século (2007) e o espaço entre
> a
> > > data
> > > e a hora. No segundo pedaço, troquei os pontos por barras . Repare que
> > > usei
> > > como separador do sed hífem (-) para não confundir com a barra que eu
> > > queria
> > > trocar.
> > >
> > > Abraços,
> > > Julio
> > >
> > > Em 04/03/08, Djan Marques <djan.marques@ yahoo.com. br> escreveu:
> > > >
> > > > Ola!
> > > >
> > > > Em minhas pesquisas só não encontrei como inserir um ou mais
> caracteres
> > > > apos uma posição específica.
> > > >
> > > > Original -> 20.07.0714:15: 57
> > > > Fiz cat gez.txt |sed 's/\./\//g'
> > > > Ficou -> 20/07/0714:16: 08
> > > >
> > > > Penso que falta mais dois passos
> > > > Um para ficar assim: 20/07/200714: 16:08
> > > > --
> > > > Outro para ficar 20/07/2007 14:16:08
> > > > _
> > > >
> > > > 20/07/2007 14:16:08 assim que tem q ficar .
> > > >
> > > > Desde Já agrade agradeço.
> > > >
> > > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > > > armazenamento!
> > > > http://br.mail. yahoo.com/
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > --
> > > Abraços,
> > > Julio
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > > armazenamento!
> > > http://br.mail.yahoo.com/
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Abraços,
> > Julio
> >
> > [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"
>
>  
>



-- 
Abraços,
Julio


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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