[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] formatacao de um arquivo
From: |
Ricardo Acosta |
Subject: |
Re: [shell-script] formatacao de um arquivo |
Date: |
Tue, 6 Jun 2006 10:57:03 -0300 |
Buenas,
se as linhas que vc pretende mudar, sempre iniciarem com 14...pode
utilizar a seguinte solução com SED:
acosta@clima: ~$ sed 's@\(^14.\)0@\13@' teste.txt
02192199032200402031 (inicio do arquivo)
14535244536800068946220040229000010000000021040000000150008512C
(telefone1)
14535776443800066463020040229000020000000027460000000150008512C
(telefone2)
14535234043800620557220040229000030000000000520000000150008512C
(telefone3)
14535241465800068627720040229000040000000026970000000150008512C
(telefone4)
9000379000000000976700 (final do arquivo)
sobre o comando:
sed 's@\(^14.\)0@\13@'
1 - utilizei o "@" como delimitador do comando de substituição,
geralmente utilizado no formato com "barras" s///
2 - entre os parenteses esta a expressão para pegar tudo que:
comece com o algarismo 1, seguido do 4, seguido de qualquer coisa("."),
3 - seguido do algarismo zero "0"..veja que o zero fora dos parenteses.
3 - substitui pelos valores encontrados dentro dos parenteses(indicado
pelo \1) seguido do algarismo 3..q era o q vc pretendia substituir!
[]s
acosta
Em 06/06/06, Rafael Sanches<address@hidden> escreveu:
Pessoal eis a minha primeira duvida,
Todo mes eu recebo um arquivo da uma operadora regional que vem da seguinte
maneira
02192199032200402031 (inicio do arquivo)
14505244536800068946220040229000010000000021040000000150008512C (telefone1)
14505776443800066463020040229000020000000027460000000150008512C (telefone2)
14505234043800620557220040229000030000000000520000000150008512C (telefone3)
14505241465800068627720040229000040000000026970000000150008512C (telefone4)
9000379000000000976700 (final do arquivo)
na verdade oq eu preciso é de substituir 4ª posicao de caracter que sempre é 0
pelo numero 3 , lembro aos colegas que ele tem que manter os cabeçados ou seja
o inicio e final .
No caso ficaria assim.....
14535244536800068946220040229000010000000021040000000150008512C (telefone1)
14535776443800066463020040229000020000000027460000000150008512C (telefone2)
Conto com a colaboração de todos os colegas.
Compubras Telecom
Suporte Técnico
Rafael Sanches
+55 (45) 35725000
Linux User #314543
[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
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
--
__________________________
Ricardo Acosta
Laboratório de Clima e Biosfera
Departamento de Ciências Atmosféricas - USP/IAG/ACA
Re: formatacao de um arquivo, Reinaldo Marques de Lima, 2006/06/06
Re: [shell-script] formatacao de um arquivo,
Ricardo Acosta <=
Re: [shell-script] formatacao de um arquivo, Humberto Pereira, 2006/06/06