私はしばしばこのようなことをしていることに気づきます:
something | grep cat | grep bat | grep rat
私が覚えているのは、これらの3つの単語が、ある順序で、something
...の出力のどこかに発生したに違いないということだけです。これで、次のようなことができます。
something | grep '.*cat.*bat.*rat.*'
しかし、それは順序付けを意味します (バットはネコの後に現れます)。そのため、次のようになる bash 関数を自分の環境に追加することを考えていましたmgrep
。
mgrep cat bat rat
の中へ
grep cat | grep bat | grep rat
しかし、それを行う方法がよくわかりません(または代替手段があるかどうか)。1 つのアイデアは、次のようにパラメーターを for ループすることです。
while (($#)); do
grep $1 some_thing > some_thing
shift
done
cat some_thing
some_thing は>(cmd)
、bash で行う場合のような fifo である可能性がありますが、わかりません。どのように進めますか?