行間に異なる文字を含むフィールドの検索

行間に異なる文字を含むフィールドの検索

テキストの例:

ERROR IN CONNECTING TO NODE:**NT**SX01,CMS
ERROR IN CONNECTING TO NODE:**USSP**SX01,CMS
ERROR IN CONNECTING TO NODE:**PT**SX01,CMS

同じコマンドでこの3行をgrepしたいと思います。

grep "ERROR IN CONNECTING TO NODE:?SX01,CMS" 

3行すべてをgrepするには、疑問符を何に置き換える必要がありますか?

ベストアンサー1

.*との間の文字を一致させるには、次のようにします。NODE:SX01,CMS

grep "^ERROR IN CONNECTING TO NODE:.*SX01,CMS$" file

^行の先頭と一致し、$行の終わりと一致します。

**、および前後にテキストを含めたい場合:NTUSSPPT

grep "^ERROR IN CONNECTING TO NODE:\*\*.*\*\*SX01,CMS$" file

**との間に文字を含めたい場合**

grep "^ERROR IN CONNECTING TO NODE:\*\*[A-Z]*\*\*SX01,CMS$" file

より具体的に説明するには:grep文字列NTまたはUSSPまたはPT

grep "^ERROR IN CONNECTING TO NODE:\*\*\(NT\|USSP\|PT\)\*\*SX01,CMS$" file

おすすめ記事