Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Script para remover acentos de documentos

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 26 de Abril de 1997

Todas as dicas enviadas através desta lista são geradas originalmente com todos os acentos. Para facilitar a vida de quem lê mail com programas que não oferecem suporte a caracteres acentuados, eu crio uma outra versão do documento, sem conter os acentos. A dica de hoje, visto abordar acentuação obviamente não pode ser veiculada sem os acentos.

Para realizar esta conversão, foi criado um shell script que, utilizando o comando sed para efetuar a troca dos caracteres.

Este script pode ser utilizado para várias outras finalidades. Nós faziamos antigamente, quando não possuímos conexão rápida com a Internet, um mirror de alguns servidores Web que julgavamos úteis. Após a transferência das páginas via FTP (ainda não existiam ferramentas como wget e outros; talvez até já existissem, mas não as conheciamos) era rodado um shell script que convertia tudo que fosse http://www.site.edu para http://www.unicamp.br. Outra utilização, criar arquivos para processamento pelo programa Ventura Publisher, que convertia algumas marcações de parágrafos em tags para o Ventura. Pode-se até criar um editor HTML, que realiza a expansão de alguns tags em diretivas html.

O script possui dois componentes, um arquivo com os comandos propriamente ditos e um outro com diretivas para o comando sed.

Vamos ao primeiro deles, o script tiraacento:

  #! /bin/sh
  #	
  #	Autor: Queiroz
  #	Data : 11/08/94
  #
  #	Este shell script remove a acentuação de um arquivo 
  #	
  
  # A seguir, a localização do arquivo onde se encontram as diretivas
  # para o comando sed
  
  MACROS=/home/queiroz/bin
  
  # testa se foram fornecidos os arquivos de entrada e saida para
  # o comando. Caso haja erro neste passo emitir a mensagem e encerrar
  # o processamento
  
  if [ $# -lt 2 ]; then
          echo 1>&2 Sintaxe: $0 arquivo_entrada arquivo_saida
          exit 1
  fi
  
  # Atribui à variável infile o primeiro argumento e à variável outfile
  # o segundo argumento
  
  infile=$1
  outfile=$2
  
  # Executa o comando sed para efetuar as substituições
  
  sed -f $MACROS/tiraacento.sed $infile  > $outfile
  

O arquivo tiraacento.sed contém as diretivas para o comando sed. Desta forma o caracter ã será substituído por ~a e assim por diante.= Caso se opte por remover totalmente a acentuação basta substituir s/ã/~a/g por s/ã/a/g. Algumas pessoas preferem desta forma.=

tiraacento.sed

  s/ã/~a/g=
  s/Ã/~A/g=
  s/à/`a/g
  s/À/`A/g
  s/ô/\^o/g
  s/ô/o/g
  s/Õ/~O/g=
  s/é/e'/g
  s/É/E'/g
  s/á/a'/g
  s/ó/o'/g
  s/Á/A'/g
  s/Ó/O'/g
  s/ç/,c/g
  s/Ç/,C/g
  s/ê/\^e/g
  s/Ê/\^E/g
  s/ú/u'/g
  s/Ú/U'/g
  s/â/a\^/g
  s/Â/\^A/g
  s/í/i'/g
  s/Í/I'/g
  s/Ü/U/g
  s/ü/u/g

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1731 votos)

Opinião dos Leitores

Marcio Lopes
16 Jun 2011, 16:12
Ótima dica... Agiliza um bocado...
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição