Sugiro contratar grep
para este trabalho:
$ OPTS="\"-name user -age 20 -where Asia -eats Brains\""
$ grep -Po -- '-where \K\w*' <<< "$OPTS"
Asia
Explicação:
-
-P
: expressão regular compatível com perl -
-o
: mostra apenas partes correspondentes -
\K
: largue tudo antes desse ponto -
\w*
: constituinte da palavra match (sinônimo para[_[:alnum:]]
)
Para adicionar "
à lista de caracteres correspondentes:
$ grep -Po -- '-eats \K[_\"[:alnum:]]*' <<< $OPTS
Brains"