Используйте цикл for:
for file in *.krn; do
hum2mid "$file" -o "${file%.krn}.mid"
done
В одну строку: for file in *.krn; do hum2mid "$file" -o "${file%.krn}.mid"; done
Чтобы рекурсивно применить команду к файлам и подкаталогам, используйте шаблон find|xargs
:
find -type f -name '*.krn' -print0 \
| xargs -0 -n1 sh -c 'hum2mid "$1" -o "/destination/dir/$(basename ${1%.krn}.mid)"' -
Обратите внимание, что это перезапишет уже преобразованные файлы, если файл из другого каталога имеет то же имя.