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

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

Re: [shell-script] refernciar caractere


From: Humberto Pereira
Subject: Re: [shell-script] refernciar caractere
Date: Fri, 15 Sep 2006 17:26:13 -0300
User-agent: Opera Mail/9.01 (Linux)

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/


reply via email to

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