AIX - egrepを使用して変数を含む複数の文字列のパターンを一致させる

AIX - egrepを使用して変数を含む複数の文字列のパターンを一致させる

文字列と変数のセットとパターンマッチングを実行できるegrepコマンドを作成しようとしています。これまで私は以下を使用しています:

ps -ef <uid> | egrep "string1|string2" | egrep -v "string4|string5" | grep -v "${variable}"

これはうまくいきますが、均一で効率的な構文を持つように努めています。

Linux では次のコマンドを使用できますが、AIX では使用できません。

ps -ef <uid> | egrep "string1|string2" | grep -v "${variable}\|string4\|string5" 

マニュアルページを見て、egrep -cなどを試しましたが、うまくいく組み合わせを得ることはできません。

ベストアンサー1

grepコマンドとegrepコマンドを一緒に混在させ、grepが交互に正規表現に-E解析できるようにするために必要なフラグを削除しました。|または、全体としてegrepを使用してください。

次のいずれかを使用します。

ps -ef | egrep "string1|string2" | egrep -v "${variable}|string4|string5"

または

ps -ef | egrep "string1|string2" | grep -Ev "${variable}|string4|string5"

variable...どちらの場合も、正規表現トークン(またはその問題のさまざまな文字列N)をエスケープすることに注意してください。

また見なさい:私の正規表現がXでは動作しますが、Yでは動作しないのはなぜですか?

おすすめ記事