Ceci recherchera X uniquement dans les noms de variables et ne produira que les noms de variables correspondants :
set | grep -oP '^\w*X\w*(?==)'
ou pour faciliter l'édition du modèle recherché
set | grep -oP '^\w*(?==)' | grep X
ou simplement (peut-être plus facile à retenir)
set | cut -d= -f1 | grep X
Si vous voulez faire correspondre X à l'intérieur des noms de variables, mais que la sortie se fait sous forme de nom=valeur, alors :
set | grep -P '^\w*X\w*(?==)'
et si vous voulez faire correspondre X à l'intérieur des noms de variables, mais sortir seulement la valeur, alors :
set | grep -P '^\w*X\w*(?==)' | grep -oP '(?<==).*'