grep
Ubuntu 18.04およびCentOS 8のマニュアルページでは、-P
grepオプションについて次のように説明しています。
-P、--perl-regexpパターンをPerl互換正規表現(PCRE)として解釈します。これは 実験的 そしてgrep -P 警告する可能性があります 実装されていない機能。
私は「実験的」と「可能な警告」を強調しました。実験的であるとは、生産に適していないことを意味します。 「警告可能」とは、実装されていない機能が発生する可能性があり、警告を受け取らない可能性grep
があることを意味します。
以前のバージョンでは、grep
「実験的」という用語の代わりに「非常に実験的な」という用語も見ていました。
-P
GNUオプションはgrep
本番環境で使用しても安全ですか?私の起動スクリプトの中には特定のPerl機能が必要なので、このオプションはPerlがまだインストール/含まれていない場合に便利です。
答え1
この質問は好みの問題かもしれません。
個人的には、POSIXのみを使用するように正規表現を書き換えることができるかどうかを確認したいと思います。これができない場合は、次のようにします。
| perl -ne '/.../ and print' |
代わりに。これにより、サポートされていることを確認し、インストールされていない場合は、perl
どのエラーが発生するかを明確に知ることができます。
私するプライベートスクリプト(つまり、本番ではない)には-Pを使用してください。
唯一そのような考えをしたとき可能本番環境で使用する理由は、スクリプトが -P をサポートするようにテストされており、サポートしないと明らかなエラーが発生するためです。