web-dev-qa-db-fra.com

Modifier plusieurs noms de fichiers en remplaçant un caractère dans le dossier et les sous-dossiers

J'utilise ce code

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

remplacer: avec - dans tous les fichiers d'un dossier ...

Mais je dois renommer tous les fichiers d’un dossier spécifique et de ses sous-dossiers.

Comment je peux faire ça?

2
Gennaro Santoro

Utilisez find:

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

Ou:

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

Ou le globbing récursif de bash:

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