O comando mv
não usa seu stdin, então você tem que traduzir o stdin para um parâmetro, e para isso pode ser usado xargs
:
find ./ -type f -name '*.mp3' | xargs mv -t /home/mitch/Desktop/Music/$ARTIST
Além disso, você pode usar diretamente a ação -exec
de find
:
find ./ -type f -name '*.mp3' -exec mv {} /home/mitch/Desktop/Music/$ARTIST ';'
Editar
Como apontado por @geirha, o primeiro comando não funciona se você tiver nomes de arquivos contendo espaços. Nesse caso, deve ser o seguinte
find ./ -type f -name '*.mp3' -print0 | xargs -0 mv -t /home/mitch/Desktop/Music/$ARTIST