Aix grep ワイルドカードが機能しません。

Aix grep ワイルドカードが機能しません。

というファイルがあります情報この行があります。

CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758

grepを実行しています(プラットフォームはAIX 6.1です)。

grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758 message

行を見つけて出力を表示します。

しかし、以下のようにワイルドカードを使用しようとすると

grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.*/ORDRSP/758 message

この行が見つかりません。また、一重引用符/二重引用符を試してみました。動作しません。ここで何か抜けましたか?混乱しています。

ベストアンサー1

メモ:AIXではこれをテストできませんでしたが、以下はGNU grepで動作します。

grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.\*/ORDRSP/758 message

または:

grep 'CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.\+/ORDRSP/758' message

これは、grepの基本正規表現でほとんどのメタ文字がエスケープされている場合にのみ特別な意味を持つためです。grepマニュアルページから:

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose
their special meaning;  instead  use  the backslashed versions \?, \+, \{,
\|, \(, and \).

おすすめ記事