Las expresiones regulares vienen en muchos sabores diferentes. Lo que está mostrando es una expresión regular similar a Perl (PCRE, "Expresión regular compatible con Perl").
grephace POSIX expresiones regulares. Estas son expresiones regulares básicas (BRE) y expresiones regulares extendidas (ERE, si grepse usa con la -Eopción). Consulte el manual re_formato el regexo lo que sea semejante manual del grepmanual se refiere a en su sistema, o los textos estándar POSIX que acabo de dichos enlaces.
Si usa GNU grep, podría usar expresiones regulares similares a Perl si usara grepla opción grepespecífica de GNU -P.
También tenga en cuenta que grepdevuelve líneas por defecto, no subcadenas de líneas. Nuevamente, con GNU grep(y algunas otras grepimplementaciones), puede usar la -oopción para obtener solo los bits que coinciden con la expresión dada de cada línea.
Tenga en cuenta que ambas -Py -ono son extensiones estándar de la especificación POSIXgrep .
Si no está utilizando GNU grep, puede utilizarlo sedpara obtener el bit entre la cadena prefixy el final de la línea:
sed -n 's/.*prefix\(.*\)/\1/p' file
Lo que esto hace es imprimir solo las líneas que sedlogran aplicar la sustitución dada. La sustitución reemplazará toda la línea que coincide con la expresión (que es un BRE), con el fragmento que aparece después de la cadena prefix.
Tenga en cuenta que si hay varias instancias prefixen una línea, la sedvariación devolvería la cadena después de la última , mientras que la grepvariación GNU devolvería la cadena después de la primera (que incluiría las otras instancias de prefix).
La sedsolución sería portátil para todos los sistemas tipo Unix.