Seu comando deve ser:
expr match Unauthenticated123 'Unauthenticated\|Authenticated'
Se você quiser o número de caracteres correspondentes.
Para que a parte da string (Unauthenticated) retorne use:
expr match Unauthenticated123 '\(Unauthenticated\|Authenticated\)'
De info coreutils 'expr invocation' :
'STRING : REGEX'
Perform pattern matching. The arguments are converted to strings
and the second is considered to be a (basic, a la GNU 'grep')
regular expression, with a '^' implicitly prepended. The first
argument is then matched against this regular expression.
If the match succeeds and REGEX uses '\(' and '\)', the ':'
expression returns the part of STRING that matched the
subexpression; otherwise, it returns the number of characters
matched.
If the match fails, the ':' operator returns the null string if
'\(' and '\)' are used in REGEX, otherwise 0.
Only the first '\( ... \)' pair is relevant to the return value;
additional pairs are meaningful only for grouping the regular
expression operators.
In the regular expression, '\+', '\?', and '\|' are operators
which respectively match one or more, zero or one, or separate
alternatives. SunOS and other 'expr''s treat these as regular
characters. (POSIX allows either behavior.) *Note Regular
Expression Library: (regex)Top, for details of regular expression
syntax. Some examples are in *note Examples of expr::.