Grep para uno y dos dígitos

tengo el nombre de la ruta como a continuación,

  1. abc4 / 2012
  2. abc4 / 2013
  3. abc45 / 2014
  4. abc45 / 2014

Cuando grep para 45 está mostrando una instancia de 4 y para 4 muestra todas las 45. Necesito grep tanto un dígito como un doble dígito por separado. por favor ayuda

egrep '([^0-9]4[^0-9]|[^0-9]45[^0-9])' 

Lo hace por mí, es decir, 4 rodeado de no dígitos, o 45 rodeado de no dígitos.