私はtext.txt
があるegrepが正しく一致しませんか?
egrep "[^e]" text.txt
行います
hello
mellow
hello
wack
ので正確には、出力がwack
すべきではありませんの?
が、端子(BASH)が何らかの理由で
hello
mellow
hello
wack
を返しますか?
私はtext.txt
があるegrepが正しく一致しませんか?
egrep "[^e]" text.txt
行います
hello
mellow
hello
wack
ので正確には、出力がwack
すべきではありませんの?
が、端子(BASH)が何らかの理由で
hello
mellow
hello
wack
を返しますか?
と一致する必要があります。 [e]
内部
~]# egrep -v '[e]' text.txt
wack
~]# egrep '[e]' text.txt
hello
mellow
hello
^
はe
除いて、入力ファイル内のすべてのものと一致しました。 text.txt
内の文字列のどれもがe
で始まりませんので、あなたの入力ファイルに文字列eeee
を持っている場合は、[e]
外^
を入れた場合たとえば、それはeeee
~]# egrep '[^e]' text.txt
hello
mellow
hello
wack
以外のすべてを返すでしょう、それは何も一致しません。
egrep
ここでは不要です。あなたはe
以外のすべての文字が
使用-v
オプション一致していたことに気づくでしょう
$ grep --color=auto '[^e]' text.txt
hello
mellow
hello
wack
利用できる、それが与えられたと一致しないすべての行が返されます場合はマッチしたかを確認するには、--color=auto
オプションを使用することができます検索パターンが
$ grep -v 'e' text.txt
wack
を使用せずに、OPの正規表現を変更するにはは、あなたがegrep
と負のマッチングをしたい場合は、あなたが-v
オプションが必要になり、行全体に
$ grep '^[^e]*$' text.txt
wack
$ # or with -x if available
$ grep -x '[^e]*' text.txt
wack
これはむしろ色付けを行う 'grep'を持っていると思います。 Unixのすべての亜種にこのようなgrepがあるわけではありません。 –
@JonathanLefflerそのおかげで、ありがとう、編集された答え – Sundeep
だから '[^ e]'は何をするのですか?私はそれを理解していない。単語にeが含まれていれば、大丈夫ですか? –
文字列中の 'e'以外のものとすべて一致します。 'e'以外に文字列の中に他の文字があれば無用です。 – iamauser
'e'を含むすべてのものをPURE正規表現でフィルタリングしたいのですが? '-v'フラグを使用しないでください。 –