On Fri, 15 Sep 2006 13:25:15 -0300, Isaias de Assis Machado
<[EMAIL PROTECTED]> 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.
[EMAIL PROTECTED] tmp]$ cat a.txt
1 2 3
2 2 3
3 2 3
[EMAIL PROTECTED] tmp]$ sed -r '2s/^(.{2})./\10/' a.txt
1 2 3
2 0 3
3 2 3
[EMAIL PROTECTED] 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/
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html