greple #5 複数キーワード検索 NOT
複数キーワード検索 NOT 編
これまでに、複数キーワードを使った AND と OR の組み合わせを紹介しました。AND、OR とくれば、当然次は NOT です。
実行例
また寿司セットを使って考えてみます。
サービスセット 熟成まぐろ えび たまご いか サーモン いなり ねぎまぐろ サラダ
お子様セット 熟成まぐろ えび たまご いなり ツナサラダ
特上セット 中とろ 熟成まぐろ 熟成真鯛 はまち 赤えび ほたて うなぎ かに いくら
特上極旨セット 中とろ はまち かに いくら 赤えび サーモン うなぎ うに
うどんセット 熟成まぐろ サーモン たまご えび うどん
サラダ軍艦セット えびマヨ ツナサラダ サラダ シーフードサラダ
人気セット 熟成まぐろ 漬けまぐろ サーモン びんちょう いか えび えびアボカド たまご
まぐろづくしセット 中とろ 熟成まぐろ ねぎまぐろ
プレミアムセット 中とろ まぐろ サーモン 赤えび はまち うなぎ かに いくら
まぐろは必ず食べたくて、はまちかえびのどちらかが入ったセットは、次のようにして探すことができました。
greple -n 'まぐろ はまち|えび' sushi.txt
でも、実はいくらはアレルギーで食べられないことを思い出しました。
greple -n 'まぐろ はまち|えび いくら' sushi.txt
とすれば、候補の中からいくらを含む食べられないセットを表示することができます。
でも、本当に探したいのはいくらを含まないセットです。そのような場合には、やはり検索エンジンと同じように、キーワードの先頭にマイナス記号 -
を付けます。
greple -n 'まぐろ はまち|えび -いくら' sushi.txt
これで、望みの結果を得ることができました。
grep -v との違い
grep の -v
オプションは、全体から指定したパターンを含まない行を選び出すためのものです。それに対して、greple の NOT キーワードは、他のキーワードによって選ばれた選択肢から、指定したパターンを含むものを削除するためのものです。ですから NOT キーワードだけのパターンはエラーになります。
grep と同様に動作して欲しければ、どの行にも必ずマッチするパターン、たとえば行頭にマッチする ^
を指定することで実現は可能です。ただ、そのために greple を使う必要性は、あまり感じられません。
まとめ
今回は、複数キーワードを使った検索について AND と OR に続いて NOT の使い方を紹介しました。使い方は簡単で、検索エンジンと同じように、除外したいパターンの先頭に -
を付けるだけです。
寿司セットの例は、数が少ないので目grepでも望む情報は得られますが、もし数千行の情報から選び出すとすれば、ツールの力を借りた方が得策です。AND、OR、NOT を組み合わせて情報を絞り込んでいくことで、望みの結果に近づくことができます。
SEE ALSO
Author And Source
この問題について(greple #5 複数キーワード検索 NOT), 我々は、より多くの情報をここで見つけました https://qiita.com/kaz-utashiro/items/24ac0b8fdd30b598e069著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .