awk
を使用して、テキストファイルの単語全体を照合したいと思います。英数字以外の文字で囲まれた単語を含みます。
例えば -
検索する文字列-ABC
ソースファイル -
HHHABCCCCH
HHH ABC
HH(ABC)ASDAASD
HH,ABC-ASASDASD
結果-
HHH ABC
HH(ABC)ASDAASD
HH,ABC-ASASDASD
「ABC」をハードコーディングする代わりに変数として渡す場合は、マッチング演算子を使用します。
awk -v Word=ABC '$0 ~ "[^[:alpha:]]" Word "[^[:alpha:]]"'
Gawk(他のawkもありますか?)では、\<
と\>
を使用して、単語の境界を示すことができます。ここで、Wordは文字、数字、アンダースコアのシーケンスです(私は信じています)。例:
awk '/\<ABC\>/'
使用する \y
単語の境界の場合、例:.
awk '/\yABC\y/'
詳細については、 https://www.gnu.org/software/gawk/manual/html_node/GNU-Regexp-Operators.html を参照してください。
それを理解しました-タイプミスのために問題がありました
awk '/[^[:alpha:]]ABC[^[:alpha:]]/'