On Wednesday 05 May 2004 12:44, Diniz Alexandre Daminelli wrote:
> Como fazer para trocar o primeiro caracter, de uma linha, de um arquivo
> texto.
>
> Gostaria de trocar o simbolo # por um espa�o em branco, e o contrario
> tamb�m, um espa�o em branco para o simbolo #; mas s� em determinada linha.
> [...]
> A modifica��o seria feita somente no primeiro caracter, e em uma
> determinada linha, que seria encontrada pelo identificador da linha
> superior a ela. Sei que com o comando sed d� para realizar tal taerefa so
> nao sei como.

Para comentar:

sed -i '<linha>s/^/#/' arquivo

Para descomentar:

sed -i '<linha>s/^#//' arquivo

Onde "<linha>" � a linha que se deseja (des)comentar.
Ex: sed -i '2s/^/#/' arquivo

Note que voc� precisa saber o n�mero exato da linha. Descobrir esta informa��o 
a partir do n�mero da sala � complicado, pois estes n�meros n�o correspodem 
ao n�mero da linha seguinte.

Uma outra solu��o seria:

sed -i "$((<num_sala> * 2))s/^/#/" arquivo

e

sed -i "$((<num_sala> * 2))s/^#//" arquivo

Onde <num_sala> � o n�mero da sala (sem o zero da frente, sen�o o n�mero ser� 
interpretado como octal). Note, entretanto, que para esta solu��o funcionar, 
o arquivo precisa ter _exatamente_ este formato:

#sala XX
<comando1>
#sala YY
<comando2>
...

Ou seja, sem linhas em branco adicionais.

-- 
Anderson Lizardo
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a