Este é o comando audio_renamep que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
audio_rename - renomeia um arquivo de áudio através das informações obtidas via MP3 :: Tag.
SINOPSE
audio_rename -csR - @ p "@ a / @ l / @ 02n_ @ t".
renomeia todos os arquivos de áudio neste diretório e seus subdiretórios em um nível de 3
estrutura de diretório fornecida por Nome do Artista / Álbum / Nome do Arquivo, com o nome de base de Nome do arquivo
sendo o número da faixa de 2 dígitos separado do título por sublinhado; isso também
translitera cirílico e encurta nomes longos.
(Devido ao uso de "- @" e aspas duplas, esta linha de comando deve funcionar tanto com UNIXish quanto
Conchas DOSish; os outros exemplos podem ser massageados da mesma forma.)
(Substituir @ 02n por "@ {mA} @ {n0}" (como no valor padrão de "-p") pode fornecer mais
semântica inteligente. Veja a descrição de "-p".
audio_rename -KD * .wav
Relata como renomearia o * .wav arquivos neste diretório de acordo com o padrão -p
regra, mas sem proteger personagens "engraçados". Não fará renomeação real.
audio_rename -sc * .mp3
Renomeie o * .mp3 arquivos neste diretório de acordo com o padrão -p regra, traduzindo
caracteres cirílicos em "equivalentes" latinos, encurtando os nomes de componentes longos e
protegendo personagens "engraçados".
audio_rename -p '% a /% {d0} /% B' -G '* / *. mp3'
Assumindo a estrutura de subdiretório de um nível dir / nomedoarquivo.ext, encontra arquivos com extensão
.mp3, e os "classifica" em uma estrutura de subdiretório de dois níveis; diretório de nível superior é
com base no campo "artista", o nível restante é preservado.
audio_rename -p '% a /% {d0} /% B' -R.
Da mesma forma, mas não supõe nenhuma profundidade particular da estrutura de diretório atual;
apenas o nome do arquivo e o nome do diretório interno são preservados.
audio_rename -p '% a /% N' -R.
Da mesma forma, mas todos os nomes de diretório (dentro do diretório atual) são preservados.
DESCRIÇÃO
O script pega uma lista de arquivos (ou, com -R opção, diretórios) e renomeia o dado
arquivos (ou arquivos de áudio nos diretórios) de acordo com as regras especificadas por meio do
opções de linha de comando. As extensões de arquivo são preservadas (por padrão).
Alguns arquivos "complementares" (ou seja, arquivos com o mesmo nome de base e com uma extensão de um
determinada lista) pode ser renomeado junto com os arquivos de áudio. Muito cuidado é tomado para fazer
os nomes de arquivo resultantes são o mais portáveis possível: por exemplo, caracteres "engraçados" em nomes de arquivo
são simplificados (a menos que solicitado de outra forma), os componentes de nomes de arquivo longos podem ser encurtados para
certos limites.
Cuidado para que a renomeação não substitua os arquivos existentes; no entanto, em sistemas operacionais que
permitir renomear () para sobrescrever arquivos, as condições de corrida podem arruinar as melhores intenções. Por exemplo, faça
não execute vários procedimentos de renomeação "sobrepostos" simultaneamente!
Reconhecido opções
Opções de uso geral:
-p "TARGET_FILENAME_PATTERN"
Padrão de nome de arquivo de destino / nome de base; está sujeito a interpolação através do método "MP3 :: Tag"
"interpolar()". O padrão é "% {mA}% {n0} _% t"; nos casos mais simples, usa 2 dígitos
número da faixa separado do título por sublinhado. Veja "interpolar" em MP3 :: Tag
para mais detalhes.
Aqui está a explicação do valor padrão: devido à semântica de escapes "% {mA}" e
"% {n0}", se o quadro "TPOS" (número do disco) estiver presente, ele é codificado como uma letra e colocado
antes do número da faixa. Se o número da faixa tiver a forma "N1 / N2" (significando faixa N1 de
N2), então N1 é usado e preenchido por 0s para a largura de N2. Se "N2" não estiver presente,
padding to width = 2 é usado.
Por exemplo, se "TPOS" for 3/12 e a faixa for "14/173", então o que é anexado ao
o título é "c014_"; se não houver nenhum quadro "TPOS" e a trilha for "4/8", "4_" será acrescentado
sem nenhum 0 inicial.
(Se você quiser modificar a semântica de "% {n0}", note que é equivalente a
"% {n2:% {n0}}% {! n2:% 02n}". Portanto, enquanto% 02 {n0} SEMPRE irá preencher com 0 até pelo menos largura = 2, o
o padrão "% {n2:% {n0}}% {! n2:% 03n}" será preenchido com 0 para largura = 3 no caso de N2 estar ausente.
-e ".ext1 | .ext2 | ..."
"|" -lista separada de extensões associadas; ao renomear fonte.mp3 para alvo.mp3,
a renomeação semelhante será feita para arquivos com o mesmo nome de base e extensões .ext1,
.ext2, etc. O padrão é ".inf | .tag | .id3".
-x Se não estiver presente, o padrão de -p é o nome base; a extensão do arquivo inicial
é anexado (conforme interpolado por% E). Se presente, o padrão de -p é o completo
nome do arquivo. O comportamento com a lista não vazia de extensões associadas não foi definido.
As seguintes opções têm o mesmo significado que para o script "mp3info2"
-D "Dry run": não renomeie, apenas relate as renomeações calculadas.
-G Os argumentos são padrões glob; expandi-los.
-R Os argumentos são nomes de diretórios, recurse dentro usando a opção -E para escolher arquivos de áudio
através de sua extensão.
-r Expressão regular a ser usada ao procurar arquivos de áudio por opção -R. Padrões para
"(? i: \. mp3 $)": encontrará arquivos que terminam em .mp3 (ignorando o caso). Observe que este
expressão é colocada em uma expressão regular que ignora maiúsculas e minúsculas, então se você quiser que seja
sensível a maiúsculas e minúsculas, proteja-o como em "(? -i: REGEXPR)".
-E "option_letters"
Controla a expansão de caracteres de escape. Deve conter as letras do
opções de linha de comando onde "\\, \ n, \ t" são interpolados. O padrão é nenhum.
-@ Substitua "@" por "%" nos valores das opções. (Pode ser útil desde -p e -P pode ter muito
caracteres incorporados "%", que podem ser difíceis de lidar em alguns shells, por exemplo, DOSISH
cartuchos. Os shells DOSish reconhecem aspas duplas, então se alguém quiser o shell transparente
exemplos de linhas de comando, use - @ e aspas duplas.)
-P "padrões"
Padrões para analisar antes da aplicação da regra -p. Veja mp3info2 para detalhes.
-C "config_options"
Opções de configuração para MP3 :: Tag. Veja mp3info2 para detalhes.
Opções de portabilidade de nome de arquivo:
-s Faça com que os componentes dos nomes de arquivo sejam curtos o suficiente para caber em um sistema de arquivos de CD. Atualmente
isso significa a restrição de 110 caracteres (como com "mkisofs -J --joliet-long", pelo menos
da versão 2.01a32). O limite pode ser modificado por "AUDIO_MAX_FILENAME_LEN"
variável de ambiente.
Observe que "componentes" são partes separadas por um caractere literal "/" no dado
padrão (não barras provenientes de strings interpoladas).
-c Latinize os nomes dos arquivos (para portabilidade), supondo que eles estejam na codificação WinCyrillic.
Cada Cliente transliterate_win1251.pm (em exemplos / mod / Encode diretório da distribuição;
coloque no subdiretório Codificar do diretório do script).
-K Não converta caracteres "exóticos" em sublinhados (os caracteres que têm um baixo
pontuação de portabilidade, portanto, os arquivos terão problemas ao serem movidos entre os sistemas).
Observe que este utilitário tem um desempenho muito semelhante ao utilitário mp3info2 quando o último é
usado com -p opção; apenas em vez de imprimir o resultado da interpolação de -p, usa
o resultado como o nome do arquivo de destino para renomeação (após alguma "limpeza" do resultado).
(No entanto, os padrões para as opções "-E" são diferentes!)
Por favor, leve em consideração que a opção -P é fornecido apenas para integridade. Se um
precisa de regras de análise realmente complicadas para deduzir o nome do arquivo resultante, é muito mais seguro
usar o utilitário mp3info2 para definir o nome do arquivo desejado em algum quadro ID3v2 (como
"TXXX [nome-do-alvo desejado]") e, depois de verificar se há erros, use este resultado
similarmente a
audio_rename -p "% {TXXX [nome-do-alvo desejado]]}" -R.
Após renomear, pode-se excluir este quadro dos arquivos resultantes.
Se você quiser estar totalmente sujeito a erros, preserve o nome do arquivo inicial dentro dos arquivos
fazendo algo semelhante a
mp3info2 - @ F "TXXX [orig-fname] = @ A" -R.
antes de renomear. Se o pior acontecer (mas nenhuma condição de corrida aconteceu, então os arquivos são
não sobrescrito), deve-se ser capaz de restaurar o status quo executando
audio_rename - @ p "@A" files_or_directories_list
(dando -R opção se necessário).
POSSÍVEL PROBLEMAS
Com -R opção, pode haver situações em que a varredura de subdiretórios primeiro encontra um
arquivo de origem em algum diretório, renomeia-o e, em seguida, continua a varredura de outro
subdiretórios e encontrará o arquivo de destino, portanto, tentará renomeá-lo.
Na prática, não me lembro de jamais ter encontrado essa situação; se o nome do arquivo de destino
depende apenas do conteúdo do arquivo, e não de seu nome, então a segunda renomeação será
tautológico, portanto não visível.
Use audio_renamep online usando serviços onworks.net