Вы можете использовать команду cut для токенизации строки (-d указывает разделитель, -f указывает, какое поле вы хотите сохранить) -
echo 20101007_GR1234_Whatsit | cut -d'_' -f1
дает
20101007
Оттуда вы можете использовать команду date для анализа даты -
foo=`date -d 20101007 +%s`
преобразует строку даты в время эпохи (секунды с 1 января 1970 года), которое затем можно легко сравнить.
Если вы не хотите связываться со временем эпохи, вы можете вызывать дату несколько раз, чтобы проанализировать разные части -
day=`date -d 20101007 +%d`
month=`date -d 20101007 +%m`
year=`date -d 20101007 +%Y`
, но это сделает ваши сравнения немного более сложными.