# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/^((?:[_a-z])\w{0,31})\s*$|^.*$/$1/igm;t' <<< "Valid cases are green:
PARAMETER_NAME
HELLO_WORLD
hello_word
_new_
_999_
_asdkj123123123asdasd12312312312
_I_am_a_32_characters_long_name
__hello
_____
Invalid cases are not green:
9asdaudqwudhquwdhquwd
_I_am_a_33_characters_long_string
Valid SAS names:
First character is an underscore or an English letter
Followed by any combination of underscores, English letters and numbers
Max 32 characters long"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html