Renomear ': 2f' para '-' nos nomes das pastas no Linux

4

Eu tenho um disco rígido tirado de uma unidade NAS onde os arquivos foram colocados em um Mac - No entanto, alguns dos nomes de arquivos foram, por exemplo, 'backup 16/07/14' que foi alterado para 'backup 16: 2f07: 2f14' no NAS.

Isso está causando um problema ao copiar arquivos para um novo NAS. Então, o que estou querendo fazer é simplesmente alternar o ': 2f' para '-' executando um comando em uma pasta que armazene todas essas outras pastas.

Sou razoavelmente novo no Linux, então estou preso. Eu carreguei o disco rígido no Ubuntu em uma máquina virtual.

Alguma sugestão?

    
por Peter 16.07.2014 / 10:31

2 respostas

1

Se você tem perl-rename aka prename :

find . -depth -name "*:*" -exec perl-rename 's/:2f/-/g' {} +

Sem:

find . -depth -name "*:*" |
while read -r name; do
    mv -nT "$name" "${name//:2f/-}"
fi
    
por 16.07.2014 / 13:46
-1

Você precisa usar

sed
comando

. Pode ser usado para substituir caracteres em nomes de arquivos. Você primeiro encontra arquivos com

find

comando e uso "|" para canalizá-los para sed.

    
por 16.07.2014 / 10:39