2017-04-11 9 views

答えて

1

はまた、それはこのようにはgrepの-vオプションを使用して行うことができます。

grep -rnwl '/home/rascalofthenorth/development/html/' -e "xc2" | grep -v "xbb"

-vオプションのみxbbを含まない結果を示します。

それとも、先のより具体的な例、たとえば、表示されるとXBB表示されていないXC2のために、そして、awkは便利になる:

awk '/xc2/ && !/xbb/' <yourfile>

+0

が、これは私の質問に答えました、ありがとうございました。私が許されるとすぐに答えを受け入れる。ただ一つのこと|パイプが正しいことを意味しますか?これは、「xc2」を持つすべてのファイルのリストを作成し、そのリストを検索し、その中に「xbb」を持つすべてのファイルを削除することを意味しますか?それとも別のことが起こっていますか? – rascalofthenorth

+0

@rascalofthenorth正規表現を使うと隠れた落とし穴があることに気付くだけです。例えば、このソリューションは '\ xc2 \ xbb'を除外しますが、' xc2xbb'、 'xbbxc2'、\ xbb \、およびxbbが含まれる他の多くの組み合わせも除外します。返される必要がある結果を誤って除外しないように、より複雑な正規表現が必要な場合があります。 –

+0

George Vasiliouありがとうございました。 Praszykが提供する2番目のソリューションでは、「xc2」と「xbb」は正規表現の少しのビットであると言っても間違いありません。最初のものはgrep -rnwl '/ home/rascalofthenorth/development/html /' -e "\ xc2"となります。 grep -v "\ xc2 \ xbb"はもっと正しいでしょうか? – rascalofthenorth