#!/bin/bash
g='XABC
XA-BC8D
X-ABC
XB72D-
X123
XAB
XABC-123
XA--BC'
awk '/^[Xx][[:upper:][:digit:]-]{3,6}$/ && /.[[:upper:]]/ {val=$0; sub("-","",val); if (val ~ /^[Xx][[:upper:][:digit:]]+$/) {print $0;}}' <<< "$g"
IyEvYmluL2Jhc2gKZz0nWEFCQwpYQS1CQzhEClgtQUJDClhCNzJELQpYMTIzClhBQgpYQUJDLTEyMwpYQS0tQkMnCmF3ayAnL15bWHhdW1s6dXBwZXI6XVs6ZGlnaXQ6XS1dezMsNn0kLyAmJiAvLltbOnVwcGVyOl1dLyB7dmFsPSQwOyBzdWIoIi0iLCIiLHZhbCk7IGlmICh2YWwgfiAvXltYeF1bWzp1cHBlcjpdWzpkaWdpdDpdXSskLykge3ByaW50ICQwO319JyA8PDwgIiRnIgo=