Problemas potenciais (se houver) na substituição recursiva de espaços com sublinhados em todos os nomes de arquivos no disco rígido [duplicado]

2

No meu disco rígido externo, existem cerca de 1 TB de dados (PDFs, documentos de texto simples, imagens, execuatables binários etc.). Os dados foram criados no Windows 10 e o disco rígido está formatado como NTFS.

A partir da raiz do disco rígido, eu gostaria de recursivamente descer em cada pasta e substituir os espaços em todos os arquivos com sublinhado para facilitar o trabalho com eles a partir do terminal.

Eu vi a pergunta aqui : e pensando em usar a melhor resposta lá

 rename 'y/ /_/' * 

da raiz do meu disco rígido externo.

No entanto, esse segmento não tem uma alta contagem de visualizações e apenas 2 membros têm as respostas. Sendo um novato, estou um pouco preocupado se pode haver algum problema inerente a isso. Existe uma maneira melhor de lidar com esse problema de facilidade de trabalho entre plataformas no terminal? (talvez conselhos como 'faça isso apenas para arquivos de texto simples ou alguns outros problemas que não posso prever')

    
por Krishna 17.02.2017 / 16:04

1 resposta

2

Acho que funcionará para você, mas fique atento aos seguintes problemas que podem surgir:

  1. Você pode sobrescrever alguns arquivos (ex: se você tiver ' algum_arquivo.txt algum arquivo.txt ', o primeiro será sobrescrito (perdido)) .
  2. O comando rename não é recursivo. Se você tiver muitos diretórios e subdiretórios, precisará descobrir uma maneira de fazê-lo (script ou usando find, como apontado por @centimane find ./ -exec rename 'y/ /_/' {} \; ).
  3. Se você tiver alguns aplicativos e arquivos lib, eles poderão parar de funcionar se não conseguirem mais encontrar os arquivos renomeados (mesmo para páginas .html salvas, por exemplo).

    É uma boa idéia tentar primeiro o comando em um subdiretório com uma cópia de alguns dos arquivos.

obs: Desculpe pelo inglês. Não é minha língua nativa ...

    
por 17.02.2017 / 17:09