私はDebian/GNU Linux OSで作業していて、短いシェルコマンド(端末またはexternスクリプト)を使いたいと思っています。grep:各行の1つ以上の単語のリストをテキストファイルと比較する
私の目的:私は
---- foo.txtの----
dog
cat
mouse with hat
----¥foo.txtというようfoo.txtの中で単語のリストを持っています - -
このリストとbar.txt(通常のテキストにいくつかの段落を含める)を比較したい。私は試合の2種類がしたい
:各ラインのすべての単語(例えば「帽子を持つマウスを」だけでなく、単に「帽子」)と一致する必要があり
を
各ライン全体の唯一の最初の外観は、最初の問題に関連
と一致する必要があります:
私の最初のコード(これまでのコマンドライン用)と私の問題:
for i in foo.txt; do fgrep -f foo.txt bar.txt
はちょうど、リストの最初の単語と一致します。 は今、私は
for i in foo.txt; do fgrep -e <some-kind-of-regexp> -f foo.txt bar.txt
ようなものを使用しなければならないと思いますが、私は正規表現:(
grepの私は、-mオプションを知っているを停止させるための第二の問題 に関連して泥沼ています。
for i in foo.txt; do fgrep -m 1 -f foo.txt bar.txt
どんな試合で最初の後に停止します。しかし、私は「は任意の最初のマッチを検索し、リスト全体を閲覧した後に停止」のようなものを持っているのが好き。