Me perdoe Julio me expressei na lista incorretamente, como estava dizendo o 
arquivo não segue um padrão de data:
 
20030506
12/01/2001
03/11/1999
20030121
20080322
 
 
O problema está nas linhas onde tem a barra ele formata a data de forma 
incorreta dd/mm/yyyy e para validação da entrada de dados deveria ser yyyymmdd, 
onde não tem barras eu não preciso fazer a inversão, eu preciso fazer a 
inversão nas linhas onde tem a barra.

 
Moroni Vieira
Tecnológo em Redes de Computadores

--- Em sáb, 3/7/10, Julio C. Neves <julio.ne...@gmail.com> escreveu:


De: Julio C. Neves <julio.ne...@gmail.com>
Assunto: Re: [shell-script] Inverter Caracteres em String
Para: shell-script@yahoogrupos.com.br
Data: Sábado, 3 de Julho de 2010, 19:44


Moroni,
não entendi! Vc diz que quer inverter e depois mostra a saída sem inversão
como se quisesse somente tirar as barras. Pelo ser ou não ser aí vão as duas
formas.

Tirando as barras:
$ tr -d / <<< "20090220
> 19980423
> 1995/03/05
> 1993/04/01
> 19990304"
20090220
19980423
19950305
19930401
19990304

Invertendo:
$ sed -r 's-/--g;s-(.{4})(.{2})(.{2})-\3\2\1-' <<< "20090220
> 19980423
> 1995/03/05
> 1993/04/01
> 19990304"
20022009
23041998
05031995
01041993
04031999

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 3 de julho de 2010 17:03, Moroni Vieira <moroni_vie...@yahoo.com.br>escreveu:

>
>
> Pessoal,
>    Boa Tarde estou com um problema para fazer a inversão de posição de
> caracteres em string e peço a ajuda de vocês:
> Tenho um arquivo com o seguinte conteúdo:
>
> 20090220
> 19980423
> 1995/03/05
> 1993/04/01
> 19990304
>
>    Como podem ter notado não existe padrão para o formato data dentro do
> arquivo e preciso que ele fique com o formato yyyymmdd
>    Peguei uma solução sobre o assunto aqui mesmo no grupo estendendo
> expressão regular, eu consigo tirar as barras mas fazer a inversão de
> posição não estou conseguindo:
>
> sed -r 's/(...)(....)/\2\1/g' <<< 03041999
> 19990304
>
> e não saiu como esperado, quero tirar as barras e fazer a inversão, já fiz
> diversos testes com o sed e não conseguir ainda, alguém poderia me ajudar.
>
> Moroni VieiraTenológo em Redes de Computadores
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[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: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
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]

Responder a