我使用的是grep
(qgrep
)的windows版本,我使用的是-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
选项的-e
是否应该忽略.
?
编辑:对不起,我的qgrep
命令中包含了SRC=
,但我的问题中最初没有这一点。
发布于 2021-06-07 02:46:47
好的,所以就像unix grep一样,适用于windows的grep和qgrep不允许以直接的方式包含句点(.)在搜索字符串中。
因此,这是可行的: grep -e SRC=18..。 *.log > out.txt
不需要引号,只需要在句号前后使用方括号。
https://unix.stackexchange.com/questions/653077
复制相似问题