A questão é que, com find , lógico e vincula-se mais strong que o lógico-or. Observe:
$ ls
file1 file2 file3 file4
$ find . -name \*1 -o -name \*2 -exec echo {} \;
./file2
Acima, -name \*2 e -exec echo {} \; estão vinculados a um lógico-e implícito. Isso é lógico e vincula mais strong que o lógico, ou -o , que conecta o primeiro -name ao segundo.
Para evitar isso, você precisa aplicar parênteses para agrupamento:
$ find . \( -name \*1 -o -name \*2 \) -exec echo {} \;
./file1
./file2
Ou, para o seu comando completo:
find $convfold \( -name \*.mkv -o -name \*.avi -o -name \*.mov -o -name \*.wmv -o -name \*.m4p -o -name \*.m4v -o -name \*.mpg -o -name \*.mp2 -o -name \*.mpeg -o -name \*.mpe -o -name \*.mpv -o -name \*.m2v -o -name *.m4v \) -delete
Documentação
De man find :
Please note that
-awhen specified implicitly (for example by two tests appearing without an explicit operator between them) or explicitly has higher precedence than-o. This means thatfind . -name afile -o -name bfile -printwill never print afile.