Personalizar mensagens de erro do Squid

Publicado por Mateus em 29/06/2009

[ Hits: 8.757 ]

Blog: http://mateusmachado.wordpress.com/

 


Personalizar mensagens de erro do Squid



Estava querendo personalizar os arquivos com as mensagens de erro do Squid, colocando o logo da empresa nas mensagens. Resolvi o problema com o find + sed:

# find . -type f | while read NOME; do NOVO=`echo "$NOME"1`; sed '/<BODY>.*$/a Viva o Linux' $NOME > $NOVO; mv $NOVO $NOME; done

O que faz cada comando?

find . -type f:

Localizará os arquivos do diretório, você deverá executar esse script no diretório /usr/local/squid/share/errors/Portuguese (ou qualquer outro diretório onde se encontre suas mensagens de erro).

while read NOME; do

Armazenará na variável NOME o nome de cada arquivo encontrado.

NOVO=`echo "$NOME"1`;

Armazenará o nome do arquivo seguido do número 1, será um arquivo temporário a ser utilizado pelo sed.

sed '/<BODY>.*$/a Viva o Linux<hr>' $NOME > $NOVO;

Localizará o texto "<BODY>" e cada vez que localizar, irá adicionar "Viva o Linux<hr>". Isso será feito com o arquivo de nome $NOME e enviado para o arquivo $NOVO

mv $NOVO $NOME;

Para substituir o arquivo antigo pelo gerado através do sed.

done

Para finalizar o while.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Navegador Palemoon no Slackware

Flashplugin para navegadores no Debian Lenny 64 bits

Ache "sua" música na WEB

Atualizar Adobe Flash Player Debian Jessie 8.1

Utilizando Netflix no Linux

  

Comentários
[1] Comentário enviado por davidsonpaulo em 30/06/2009 - 08:40h

Salve Mateus,

Só pra acrescentar, isso pode ser feito com apenas um comando, a saber:

# find -type f -exec sed -i '/<BODY>.*$/a Viva o Linux<hr>' {} \;

Um abraço.

[2] Comentário enviado por davidsonpaulo em 30/06/2009 - 08:44h

Opa, o comando que postei no primeiro comentário estava com alguns erros, mas já corrigi. :-)

Aproveitando, segue a explicação do comando acima.

A opção -exec é usada para que o find execute uma operação em todos os arquivos/diretórios encontrados durante a busca.

A opção -i do sed serve para fazer a alteração no próprio arquivo, dessa forma não é necessário gerar um arquivo temporário e depois substituir o original.

As duas chaves {} representam o arquivo encontrado pelo find.

Para terminar, o \; é um parâmetro obrigatório para indicar que o comando relacionado ao parâmetro -exec chegou ao fim.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts