-e で qgrep を使用すると、目的の結果は得られません。

-e で qgrep を使用すると、目的の結果は得られません。

Windowsバージョンのgrepqgrep)を使用しており、そのパラメータを使用していますが、-e目的の結果が得られません。

処理するルータログファイルがあります。具体的には次のようになります。

SRC=18.x.x.x

または

SRC=18y.x.x.x

ログファイルにはさまざまなコンテンツがありますが、SRC=a.b.c.dソースIPが始まる場所にのみ焦点を当てています18

私が望む出力は18.x.x.x(つまり18.IPのみ)です。

私のqgrepコマンドは次のとおりです。

qgrep -e "SRC=18." source.file destination.file

私はその行と同じ引用符を使用しています。

しかし、qgrep無視して出力に.表示されます。1818x

grepそれともqgrepwithオプションは私の主張を-e無視する必要がありますか?.

編集:申し訳ありません。私のqgrepコマンドが含まれていましたが、SRC=元の質問にはありませんでした。

答え1

いいですね。 Unix grepと同様に、grepおよびqgrep for Windowsは検索文字列にピリオド(.)を単純な方法で許可しません。

したがって、これは機能します:grep -e SRC = 18 [.] *.log> out.txt

引用符は必要ありません。ピリオドの周りに角かっこを使用します。

関連情報