Substituir palavras em arquivos
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 14.275 ]
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
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)
Captação de áudio no zorin linux começa a diminuir com o tempo (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (0)
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (6)