Supondo que você tenha bash
, esta versão simplesmente usa sua estrutura de pastas (por exemplo, ./foo/bar/baz/folder.jpg
) e substitui todas as barras por sublinhados (por exemplo, você recebe foo_bar_baz_folder.jpg
):
find . -iname folder.jpg -exec bash -c 'for x; do x=${x#./}; cp -i "$x" ".albumart/${x//\//_}"; done' _ {} +
Observe que, não importa o que você faça, sempre que mover arquivos de vários locais para o mesmo destino, há sempre uma chance de uma colisão de nomes.