正規表現にはさまざまな種類があります。表示しているのは、Perlに似た正規表現(PCRE、「Perl Compatible Regular Expression」)です。
grepPOSIX正規表現を行います。これらは、基本的な正規表現(BRE)と拡張正規表現(ERE、オプションgrepと一緒に使用する -E場合)です。お使いのシステムでマニュアルが参照しているマニュアル、re_formatまたはregexそれに類するマニュアルgrep、またはリンク先のPOSIX標準テキストを参照してください。
GNUを使用する場合、GNU 固有のオプションgrepを使用するgrepと、Perlのような正規表現を使用できます。grep-P
また、行のサブストリングではなく、デフォルトで行をgrep返すことに注意してください。繰り返しますが、GNU (およびその他の実装)では、オプションを使用して、各行から指定された式に一致するビットのみを取得できます。grepgrep-o
両方のことに注意してください-Pとは、-o非標準の拡張であるのPOSIX仕様grep。
GNUを使用していない場合はgrep、sed代わりに使用して、文字列prefixと行末の間のビットを取得できます。
sed -n 's/.*prefix\(.*\)/\1/p' file
これはsed、指定された置換を適用することに成功した行のみを印刷することです。置換は、式(BRE)に一致する行全体を、stringの後にある部分に置き換えますprefix。
prefix行に複数のインスタンスがある場合、sedバリエーションは最後grepの文字列の後に文字列を返し、GNU バリエーションは最初の文字列の後に文字列を返します(これにはのその他のインスタンスが含まれますprefix)。
このsedソリューションは、すべてのUnixライクシステムに移植可能です。