Você pode usar find
para isso:
find ./your-top-dir/ -iname 'folder.jpg' -execdir mv -i '{}' cover.jpg \;
Eu quero renomear alguns arquivos "folder.jpg" para "cover.jpg". Os arquivos em si estão localizados dois níveis abaixo do diretório atual. Uma simples chamada
mv */*/folder.jpg */*/cover.jpg
não funciona.
Então ... como isso pode ser feito automaticamente para todos os subdiretórios?
Obrigado!
Você pode usar find
para isso:
find ./your-top-dir/ -iname 'folder.jpg' -execdir mv -i '{}' cover.jpg \;
Para os propósitos desta resposta, estou chamando o diretório abaixo do diretório atual dir1
e o diretório abaixo de directory2
. O comando Mover ficaria assim:
mv dir1/dir2/folder.jpg dir1/dir2/cover.jpg
Tags bash rename batch-rename linux shell