Idioma
Categoria
Pesquisar

Como remover comentários e linhas em branco de um arquivo no linux

"Limpar" arquivos de configuração no linux removendo comentários e linhas em branco

Como remover comentários e linhas em branco de um arquivo no linux
Em Terminal Por Rudi Drusian Lange
Publicado em
Última atualização

Os arquivos de configuração no linux geralmente vem com comentários explicativos para cada parâmetro, o que é muito útil como auxilio na edição. Porém durante a manipulação desses arquivos no dia a dia, o excesso de comentários pode dificultar encontrar a informação desejada. Também, um arquivo mais limpo ajuda na visualização global das configurações já que será possível ver mais itens em uma única tela, sem usar a rolagem.

Uma boa prática é fazer uma cópia do arquivo original.  Antes de "limpá-lo" faça uma cópia para "arquivo.conf.orig", assim sempre que precisar ler os comentários ou se precisar restaurar as configurações padrões este arquivo poderá ser utilizado.  Existem algumas maneiras de fazer este procedimento, apagar as linhas manualmente é a mais difícil. Alguns comandos como grep pode facilitar muito este processo.

# Shell

// Exemplo com arquivo httpd.conf, faça antes uma cópia

cp httpd.conf httpd.conf.orig
egrep -v "^\s*(#|$)" httpd.conf > httpd.conf.new
mv httpd.conf.new httpd.conf
  • egrep ou grep -E habilita o uso de expressões regulares
  • -v seleciona linhas que não correspondem a expressão
  • egrep -v significa deixe a expressão seguinte de fora
  • ^ indica o começo da linha
  • \s caracteres em branco: espaço, tab, nova linha
  • * caractere repetido 0 ou mais vezes
  • | condição ou
  • $ fim da linha
  • "\s*(#|$)" remove todas as linhas que comecem com 0 ou mais caracteres em branco e possuam o caractere # ou que terminem somente com caracteres em branco.

Se os comentários do arquivo utilizar outro símbolo, como ; troque o caractere # no comando grep pelo caractere desejado. O arquivo php.ini utiliza ; como sinal de comentário, para "limpá-lo": egrep -v "^\s*(;|$)" php.ini > php.ini.new