Windowsバージョンのgrep
(qgrep
)を使用しており、そのパラメータを使用していますが、-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
無視して出力に.
表示されます。18
18x
grep
それともqgrep
withオプションは私の主張を-e
無視する必要がありますか?.
編集:申し訳ありません。私のqgrep
コマンドが含まれていましたが、SRC=
元の質問にはありませんでした。
答え1
いいですね。 Unix grepと同様に、grepおよびqgrep for Windowsは検索文字列にピリオド(.)を単純な方法で許可しません。
したがって、これは機能します:grep -e SRC = 18 [.] *.log> out.txt
引用符は必要ありません。ピリオドの周りに角かっこを使用します。