Похоже, вы ищете команду find. Я не тестировал это, но что-то вроде этого:
files=(`find . -name *.mp3`)
for file in "${files[@]}"; do
echo $file TITLE="id3info "$file" | grep '^=== TIT2' | sed -e 's/.*: //g'" ARTIST="id3info "$file" | grep '^=== TPE1' | sed -e 's/.*: //g'"
done
EDIT: использование массива делает команду безопасной для файлов с пробелами в их именах.