Substituir palavras em arquivos
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 14.194 ]
Homepage: https://fabio.automatizando.dev
Script usado para fazer a substituição de todas as ocorrências de uma "string A" por uma "string B" numa lista de arquivos informada. Exemplo:
./substituir.pl Liuxn Linux *.txt
#!/usr/bin/perl ###################################################### # Programado por Fábio Berbert de Paula # <fabio@vivaolinux.com.br> # www.vivaolinux.com.br # ###################################################### if ($#ARGV < 2) { print <<FIM; -=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Use: $0 <palavra-alvo> <nova-palavra> [lista de arquivos...] Onde <palavra-alvo> é a palavra a ser substituída, <nova-palavra> é a palavra que substituirá a ocorrência da palavra-alvo e [lista de arquivos...] é opcional, podendo conter máscaras como *.txt, por exemplo. Se a lista de arquivos não for informada, todos os arquivos do diretório serão processados. -=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- FIM exit(1); } system("/usr/bin/clear"); # importe as palavras a serem manipuladas $velha = shift(); $nova = shift(); print "Substituindo todas as ocorrências "; print "de \n\"$velha\" para \"$nova\"...\n\n"; # importe a lista de arquivos a ser processo $cont = 0; while ($arq[$cont++] = shift()) {next;} if ($cont == 0) {$arq[$cont] = "*";} # para cada arquivo ou máscara... foreach $indice (0..$#arq) { $arquivos = `/bin/ls -d $arq[$indice]`; chop($arquivos); @arquivos = split(/\n/,$arquivos); # ... processe um arquivo individualmente foreach $arquivo (@arquivos) { # se o arquivo existe ;o) if (-f $arquivo) { print "Processando $arquivo...\n"; system("/bin/sed -e \"s/$velha/$nova/g\" $arquivo > $arquivo.tmp"); system("/bin/mv $arquivo.tmp $arquivo"); print "... [ OK ]\n\n"; } } }
Script que mostra a temperatura do processador
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Ferramentas e métodos de criação de binários estáticos (3)