ファイル内の単語の場所を見つける

ファイル内の単語の場所を見つける

テキストファイル内の特定の単語の場所を見つけたいです。たとえば、単語変数をブルーム語として定義した場合、このコマンドを使用したかどうかを知りたいと思います。

grep -n "$word" mydict.txt

しかし、単語変数を「ab」として定義すると。コードは、「ab」を含む各行を提供します。たとえば、Bloomという単語も提供しますが、abという単語を含む行だけが必要です。

ベストアンサー1

ここでは、行1ではなく行3を探したいのですか?

abcdefg
foobar
ab cd ef

その場合は、grep -w次のことが役に立ちます(GNUのマニュアルページ)。

-w--word-regexp
単語全体を構成する一致を含む行のみを選択します。

「単語」と見なされるのは、ロケールによって多少異なります。 C ロケールでは、「単語文字」は文字、数字、下線です。

したがって、abその中に完全な言葉があります。

printf 'ab' | grep -w ab
printf 'ab cd' | grep -w ab
printf 'ab-cd' | grep -w ab
printf 'ab, cd' | grep -w ab

しかし、ここではそうではありません。

printf 'ab_cd' | grep -w ab
printf 'ab1' | grep -w ab

おすすめ記事