Tenho certeza que você poderia fazer isso de maneira mais elegante ... exercício deixado para o leitor. : P
echo M?
read M
for f in 20"$M"-*
do
if [ -e "$f" ]
then
echo M2?
read M2
for f in 20"$M"-"$M2"
do
if [ -e "$f" ]
then
echo SUCCESS
cat "$f"
exit
fi
done
echo FAIL: There is no file for 20"$M"-"$M2"
exit 1
fi
echo FAIL: There is no file for 20"$M-*"
exit 1
done