使用 qgrep 和 -e 没有给出我想要的

使用 qgrep 和 -e 没有给出我想要的

我正在使用 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忽略了and 并在输出中.给了我18和。18x

grepqgrepwith选项是否-e应该忽略.我的论点中的 the ?

编辑:抱歉,我的qgrep命令包括在内SRC=,但我最初的问题中没有这个命令。

答案1

好的,就像 unix grep 一样,适用于 Windows 的 grep 和 qgrep 不允许以直接的方式在搜索字符串中包含句点 (.)。

所以这确实有效: grep -e SRC=18[.] *.log > out.txt

不需要引号,只需在句点周围使用方括号即可。

相关内容