Como alterar os nomes de arquivo em diferentes pastas?

1

Eu tenho muitos arquivos com nome idêntico, diga "hello.jpg".

Eles estão localizados em várias pastas, digamos

\aaa\hello.jpg
\bbb\hello.jpg
\adaage\hello.jpg

Eu quero mudar o nome deles para

\aaa\aaa_hello.jpg
\bbb\bbb_hello.jpg
...

Como posso fazer isso?

Andy Xu
fonte

Respostas:

1

Você pode executar este comando no Terminal :

find . -name hello.jpg -exec bash -c 'mv "$1" "${1%/*}"/"$(echo $(dirname "$1")_$(basename "$1"))"' -- {} \;

Isso localizará todos os hello.jpgarquivos dentro dos diretórios e incluirá o nome do diretório na frente do nome do arquivo. NOTA: esta pesquisa somente dentro do diretório atual Você está dentro - não na partição inteira.

EDIT: espaços fixos em dir / filename.

Mateusz Szlosek
fonte