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::.