Comente todas as linhas em um arquivo de texto?

3

Em um arquivo de texto, preciso comentar todas as linhas adicionando um ";" como primeiro caractere de cada linha. O que é uma boa maneira de fazer isso? Pensei no modo de bloqueio visual do Vim, mas não consegui encontrar uma opção "selecionar tudo" e marcar várias centenas de linhas manualmente também não é ótimo ;-) Alguma idéia? Eu tenho nano, vi e vim na mão, eu prefiro um desses para esta tarefa.

    
por stefan.at.wpf 07.09.2012 / 17:30

5 respostas

10

No Vim: gg0<ctrl-v>GI;<Esc>

    
por 07.09.2012 / 17:36
12

No Vim, você também pode fazer a substituição global no início de todas as linhas:

:%s/^/;/
    
por 07.09.2012 / 18:27
5

Para uma tarefa simples como essa, você pode usar sed ou perl . Para uma pegada pequena, use sed para essa tarefa simples:

sed -i.old -e 's/^/;/' file

Isso preserva uma cópia do arquivo original como "* .old" e adiciona um ";" no início de cada linha.

No caso em que seu sed não seja uma versão GNU (como é o caso de muitas variantes Unix), é provável que você não tenha a opção inplace ( -i ). Simplesmente redirecione para um novo arquivo de saída ou use Perl como perl -pi.old -e 's/^/;/' file

    
por 07.09.2012 / 17:39
1

Eu adicionaria a resposta do jw013 alterando a substituição para

:%s/^[^;]/;
:%s/^[^;]/;%pre%/
/

Isso pode ser reexecutado quantas vezes você desejar e não adicionará ponto e vírgula indefinidamente ao início das linhas que já o possuem no começo.

Ele também pode ser usado com sed ou perl com o sinal de cólon e porcentagem removido.

Ele substitui em todas as linhas (%) todas as linhas que começam com algo diferente de um ponto-e-vírgula para iniciar com um ponto-e-vírgula e o caractere com o qual ele começou originalmente (para mantê-lo no arquivo).

Ambos os comandos (o meu e o do jw013) devem ser feitos no modo de comando, que é o modo de início padrão do vi / vim e pode ser acessado com a tecla quando em Inserir ou substituir modos.

    
por 09.09.2012 / 17:42
0

Você pode fazer isso usando somente o editor vi -

:%s/^/;/g
    
por 09.09.2012 / 21:08