あなたが何を求めているのかよくわかりません。あなたが与える結果は、grepができる/できることには合わないようです。特に、grepは行指向であるため、行で一致が見つかった場合は、その行全体が出力に含まれます。それが本当に必要なものであると仮定するとor
、2つのパターンを一緒にすることができます。
grep ("My name is" | "my bank account")
上記の入力を考えると、これは次のようになります。
My name is Mike. I'm 16 years old.
you some money from my bank account.
または、パターンにメタ文字を含めていないため、fgrep(またはgrep -F)を使用して、パターンを1行に1つずつファイルに入れることができます。2つのパターンの場合、これはおそらく大きな違いにはなりませんが、多くのパターンを検索する場合は、おそらくかなり高速になります(Aho-Corasick文字列検索を使用してすべてのパターンを一度に検索します)一度に1つずつ検索する代わりに)。
my name is
もう1つの可能性は、との両方を含む単一の行を探していることですmy bank account
。それが@djechlinの答えがすることです。上記の入力から、それは出力を生成しないので、私はそれがあなたが望むものであるとは思えませんが、もしそうなら、彼の答えはかなり合理的です。別の方法は、のようなパターンです("My name is.*my bank account" | "my bank account.*My name is")
。