Substituir palavras em arquivos
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 14.421 ]
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
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
como usar o caja como cliente FTP no linux mint? (3)
O que você está ouvindo agora? [2] (247)
O que significa essa expressão? (3)
o que é esta mensagem? relatorios do sistema (8)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (3)









