Grep 忽略空格

Grep 忽略空格

我试图在大量 IP 地址列表中搜索特定 IP,但由于空格而出现误报。请考虑以下示例:

$ a="192.168.1.1    192.168.1.2"
$ ip="1.1.192.168"

$ echo $a | grep "$ip"
192.168.1.1 192.168.1.2

Grep 会忽略空格并返回错误结果。如何让 grep 识别“1.1 192.168”不等于“1.1.192.168”?

答案1

习惯引用变量。之后您找不到匹配项

echo "$a" | grep "$ip"

这不是一个通用的解决方案,下次 IP 之间可能只有一个空格。使用

ip="1[.]1[.]192[.]168"

还是有问题,你可能会匹配101.1.192.168
所以尝试 -Fw 选项

IEecho "$a" | grep -Fw "$ip"

相关内容