perl é bom para isso:
$ str='I see that you#146;re eligible to get ticket for show on your device#44;'
$ perl -pe 's/#(\d+);/chr($1)/ge' <<<"$str"
I see that you’re eligible to get ticket for show on your device,
Eu tive que definir a codificação do meu terminal para o WINDOWS-1252 para obter essa saída. O valor decimal 146 não é válido ISO-8859-1 personagem.
Para tratar esses códigos como entidades HTML, adicionaremos o "e" comercial ausente e decodificaremos:
perl -MHTML::Entities -lne 's/(#\d+;)/&$1/g; print decode_entities($_)' <<<"$str"