パターンのドットを含む Grep のフルネーム

パターンのドットを含む Grep のフルネーム

私は完全な単語をgrepしたいと思います。

私がファイルを持っているようにtest.txt

ファイルのデータ:

Abc  ABC.xyz abc ABC.xyz 
Def  DEF.mno def DEF.mno

私が使用するとき、grep -o私の出力は次のようになります。

grep -o "\w*ABC\w*" test.txt

出力:ABC

完全な言葉が欲しいABC.xyz

ベストアンサー1

問題は、これが\w「単語文字」([a-zA-Z0-9_])を意味し、.決して単語の一部ではないということです。

 $ echo . | grep '\w'
 $ 

空白ではなく空白のみを検索できます。

$ echo ABC.xyz | grep '\S*ABC\S*'
ABC.xyz

これは\S普遍的に理解されないかもしれません。実装でうまくいかない場合は、代わりに使用してくださいgrep -E

おすすめ記事