[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] refernciar caractere
From: |
Isaias de Assis Machado |
Subject: |
RES: [shell-script] refernciar caractere |
Date: |
Sun, 17 Sep 2006 10:56:40 -0300 |
Humberto sua dica funciona perfeitamente..
Valeu..
________________________________
De: address@hidden [mailto:address@hidden] Em nome de Humberto Pereira
Enviada em: sexta-feira, 15 de setembro de 2006 17:26
Para: address@hidden
Assunto: Re: [shell-script] refernciar caractere
On Fri, 15 Sep 2006 13:25:15 -0300, Isaias de Assis Machado
<address@hidden> wrote:
> Existe algum modo de referenciar a posicao (linha, coluna) de um
> determinado caractere dentro de um arquivo de texto?
> Como eu poderia referenciar a posicao do * (asterisco) para que, de
> maneira automatizada, seja possivel alterar para .(ponto) ???
Ola,
com sed eh facil. Voce referencia a linha naturalmente. Basta colocar o
numero da linhas no comeco da expressao. Para referenciar a coluna voce
usa o . (qquer caracter) + {} (repeticao). Ae basta pegar todos os
carateres ate a coluna e substituir pelo caracter q vc quer. Veja:
Vou trocar o caracter da posicao 2,3 (caracter 2) pelo 0.
[begnini@coke tmp]$ cat a.txt
1 2 3
2 2 3
3 2 3
[begnini@coke tmp]$ sed -r '2s/^(.{2})./\10/' a.txt
1 2 3
2 0 3
3 2 3
[begnini@coke tmp]$
No seu caso ficaria:
sed -r -i '15s/^(.{16}.)./\1./' arquivo
Note q o primeiro numero (15) eh a linha e o segundo (16) eh a posicao do
caracter - 1. A opcao -i do sed modifica diretamente o arquivo.
[]s
Humberto Pereira
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
[As partes desta mensagem que não continham texto foram removidas]