我正在尝试构建一个Perl一行脚本,可以从文件中精确匹配IP地址,并打印匹配的IP地址。如果IP不匹配,则不会打印IP地址。
注意:在IP地址的左/右侧 [left]xxx.xxx.xxx.xxx[right] - 可以是任何字符,但IP本身必须完全匹配。
问题在于无论我在echo之后放什么,Perl都会打印任何字符串。请指导我的语法问题在哪里?
以下是一些示例:
注意:在IP地址的左/右侧 [left]xxx.xxx.xxx.xxx[right] - 可以是任何字符,但IP本身必须完全匹配。
问题在于无论我在echo之后放什么,Perl都会打印任何字符串。请指导我的语法问题在哪里?
以下是一些示例:
# export IP=23.45.7.0
应该匹配IP地址
# echo 23.45.7.0 | perl -pe 'next if /^*#/;/(\b|\D)$ENV{IP}(\b|\D)/'
23.45.7.0
不应匹配该IP地址
# echo 123.45.7.0 | perl -pe 'next if /^ *#/; /(\b|\D)$ENV{IP}(\b|\D)/'
123.45.7.0
应该匹配 IP 地址
# echo IP23.45.7.0IP | perl -pe 'next if /^ *#/; /(\b|\D)$ENV{IP}(\b|\D)/'
IP23.45.7.0IP
不应匹配IP地址
# echo 23.45.7.00 | perl -pe 'next if /^ *#/; /(\b|\D)$ENV{IP}(\b|\D)/'
23.45.7.00
IP=23.45.7.0
,请不要期望它打印23.45.7.00
(而不是一个尾随零)。 - peterph