arruma_nomes.pl
Publicado por zé ricardo 21/02/2005
[ Hits: 5.952 ]
É um script bem simples que "arruma" os nomes de mp3.
Está bem comentado, assim cada um pode tirar o que não gostar.
Ele pega os arquivos .mp3 de um diretório e retirar os espaços, vírgulas, firulas e afins.. e deixa tudo em letra minúsculas. Quem gosta de modo texto sabe que é um saco ficar "escapando" os nomes das mp3 e etc.
#!/usr/bin/perl -w # Autor: Zé Ricardo (zehzinho@gmail.com) # # Renomeia os arquivos mp3, de forma que os espacos e caracteres estranhos # sejam removidos # # Uso: ./rightmp3names.pl <dir> # Se "dir" nao for passado, usa-se o diretorio atual # # Para instalar String::ShellQuote use Cpan # cpan (enter) # install String::ShellQuote use strict; use warnings; use String::ShellQuote; # seguranca, "escapa" uma string para o bash use Cwd; # para getcwd() unless ($ARGV[0]) { $dir = getcwd; } else { $dir = $ARGV[0]; # nao vem } unless ($dir =~ /[\/]$/) { $dir .= "/"; } opendir (DIR, $dir) or die $!; my @arquivos = grep /\.mp3$/i, readdir DIR; foreach my $mp3file (@arquivos) { $new_name = $mp3file; $new_name =~ s/\s+/_/g; # tira os espacos $new_name =~ s/_-_/-/g; # tranforma "_-_" em apenas "-" $new_name =~ s/^[-_]+//; # elimina '-' e '_' do inicio $new_name =~ s/&/and/g; # transforma & em "and" $new_name =~ s/[\(\)\[\]]+/_/g; # () e [] viram _ $new_name =~ s/,/_/g; $new_name =~ s/\'+/_/g; # elimina as aspas $new_name =~ s/\`+/_/g; # elimina as crases $new_name =~ s/_+/_/g; # elimina "_" sequenciais $new_name =~ s/-+/-/g; # elimina "-" sequenciais $new_name = lc $new_name; # todas as letras ficam minusculas # faz a modificacao se ouve alteracao if ($new_name ne $mp3file) { $dir = shell_quote ($dir); $mp3file = shell_quote ($mp3file); $new_name = shell_quote ($new_name); system "mv $dir$mp3file $dir$new_name"; print "\n$mp3file virou $new_name"; } } closedir DIR;
Eliminando caracteres indesejados
Adiciona-Altera senhas/usuarios no sistema
Contagem de linhas em Perl (= wc -l)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Inkscape Atualização 1.4 [RESOLVIDO] (8)
samba4 - 4.21 utilizar phpldapadmin [RESOLVIDO] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta