You can easily get rid of the information that is put into stderr with the -loglevel -quiet option. In that case you have to have to query the field you want to display.
[user@host ~]$ ffprobe -loglevel quiet -show_entries format=duration test/test.mp3 [FORMAT] duration=172.434286 [/FORMAT]
Now this does still gives some extra information which can be stripped down and the duration in seconds.
[user@host test]$ ffprobe -loglevel quiet -show_entries format=duration \-print_format default=noprint_wrappers=1:nokey=1 -pretty test.mp3 0:02:52.434286
Here, the -print_format can be used to get rid of the extra information:
default=noprint_wrappers=1 will remove the [FORMAT] stuff nokey=1 will remove the keyname duration=
Last but not least, you can use -pretty or just -sexagesimal to convert the duration in seconds to a HH:MM:SS.MICROSECONDS format.
To find all MP3 files in a folder you could combine find and the ffprobe command from above.
[user@host ~]$ find test/ -name '*mp3' -printf "%f:\t" -exec ffprobe -loglevel error -print_format default=noprint_wrappers=1:nokey=1 -pretty -show_entries stream=duration "{}" \; test.mp3: 0:02:52.434286