Git recursivo files mv

Estoy intentando agregar numbers de versión a todos los files javascript en un directory para que los usuarios no almacenen los cambios en los files.

¿Cómo puedo mover todos los files Javascript que están en varios directorys dentro de un directory?

Con la estructura de file de ejemplo:

js/ --home/ ----main.js --apps/ ----main.js --handlers.js --ajax.js 

Me gustaría hacer algo como git mv -r js/*.js js/*.1.js para agregar un .1 a los nombres de file. Obviamente no hay una bandera para la recursión de git mv, así que me pregunto cuáles son mis opciones para hacer algo similar.

Globstar (bash> = 4)

 shopt -s globstar # Set the SHell OPTion globstar for f in **/*.js; do git mv "$f" "${f%.js}.$version.js" done 

Para mover todo a un único directory:

 for source in **/*.js; do dest="${source%.js}.$version.js" dest="$destination/${dest##*/}" # Strip off leading directories and prepend actual destination git mv "$source" "$dest" done 

Encontrar

Puede usar find , pero es casi lo mismo, así que guárdelo para find dónde necesita Bash 3 o POSIX sh portability (OS X, por ejemplo).

 find . -iname '*.js' -exec sh -c 'for f; do git mv "$f" "${f%.js}.$version.js" done' _ {} +