"grep -w"コマンドが機能しない

次の入力があります。

csdi_d_trs_proc_uxs1        26 24
csdi_d_tdp_process_uxs1     28 32

proc以下を使用する場合は、次のものを含めてください。

grep proc filename 

両方の行が出力されるので、試してみましたが、grep -w proc filename出力は表示されません。

procどのようにラインだけを得ることができ、ラインは取得できませんかprocess

ベストアンサー1

-wforフラグは、grep与えられた式が単語全体に一致するようにします。

「単語」は、「単語以外の文字」(または行の先頭/末尾)で囲まれた「単語文字」の文字列です。

あなたの場合、問題は_(アンダースコア)がまさに「単語文字」なので、proc単語だけでは資格を与えられないことです。

-wwithを使用する代わりに、grep単語を明示的に区別するパターンを使用してください_

grep '_proc_' filename

または、アルファベットの小文字以外の文字で単語を区切るには、次の[^a-z]代わりに使用します。_

grep '[^a-z]proc[^a-z]' filename

proc行の先頭/末尾の単語は認識されません。

おすすめ記事