Altere vários nomes de arquivos substituindo um caractere na pasta e nas subpastas

3

Eu uso este código

rename 's/\:/-/g' *.png -vn

para substituir: com - em todos os arquivos em uma pasta ...

Mas eu preciso renomear todos os arquivos em uma pasta específica e suas subpastas como esta.

Como posso fazer isso?

    
por Gennaro Santoro 14.05.2017 / 18:16

1 resposta

5

Use find :

find folder -type f -iname '*.png' | rename -vn 's/\:/-/g'

Ou:

find folder -type f -iname '*.png' -exec rename -vn 's/\:/-/g' {} +

Ou a globalização recursiva de bash:

shopt -s globstar
rename -vn 's/\:/-/g' folder/**/*.png
    
por muru 14.05.2017 / 18:18