Это будет искать X только в именах переменных и выводить только совпадающие имена переменных:
set | grep -oP '^\w*X\w*(?==)'
или для облегчения редактирования искомого шаблона
set | grep -oP '^\w*(?==)' | grep X
или просто (может быть, легче запомнить)
set | cut -d= -f1 | grep X
Если вы хотите сопоставить X внутри имен переменных, но вывести в форме имя = значение, тогда:
set | grep -P '^\w*X\w*(?==)'
и если вы хотите сопоставить X внутри имен переменных, но вывести только значение, то:
set | grep -P '^\w*X\w*(?==)' | grep -oP '(?<==).*'