Uma maneira geral de renomear todos os arquivos em um diretório [duplicado]

3

Eu tenho feito funções simples bash para isso com find -exec ou analisando ls ou usando bash globbing etc cada vez que eu tive um grande problema e eu tive que ir para um novo método uma vez que era a lista de argumentos muito longa outra os arquivos de tempo que já tinham um nome como 2 foram sobrescritos quando outro arquivo estava sendo renomeado para 2 .

Uma vez, foi um problema com unicode, uma vez com espaço no nome do arquivo, uma vez com * ou & no nome do arquivo e assim por diante. Então eu pensei em vir aqui e pedir para as pessoas a maneira mais eficiente e robusta de renomear todos os arquivos em um diretório para ter nomes sequenciais não importa o que aconteça! . Não importa quanto tempo os nomes dos arquivos estejam e não importa qual seja o nome original ou a extensão que eles têm e não importa se eles têm caracteres não-ASCII.

Então, minhas exigências são:

  1. Isso funciona com nomes extensos de arquivos.
  2. Isso funciona com caracteres unicode.
  3. Isso funciona se os arquivos tiverem espaço ou caracteres especiais.
  4. Isso não sobrescreve nenhum arquivo em outro.
  5. Isso é o mais rápido possível: D
por E.Pajouheshgar 15.02.2018 / 14:50

1 resposta

2

Se o seu Ubuntu não é um servidor, não o trate como um. O pyRenamer dos repositórios padrão do Ubuntu tem todos os recursos que você está procurando, incluindo suporte a regex, e como é um programa de GUI, você não precisa quebrar a cabeça tentando descobrir como usá-lo. Se estiver com problemas para escrever uma expressão regular, você pode obter uma explicação do que seu regex faz em RegExr . Não se permita influenciar contra programas GUI que foram criados para casos de uso como este.

    
por karel 15.02.2018 / 14:55