以下 perl 班轮代码将与 IP 地址完全匹配
perl -ne 'BEGIN{$ip=shift(@ARGV);}
print if /^\Q$ip\E$/;' "$IP_ADDRESS" $FILE
问题是如果 $IP_ADDRESS 之前或之后的空格或制表符,我们无法通过以下 perl 代码匹配
请建议需要在我的代码中添加什么以忽略空格和制表符?
来自我的 linux 机器的示例
$ echo "192.9.200.1" |
perl -ne 'BEGIN{$ip=shift}
print if/^\Q$ip\E$/;' "192.9.200.1"
192.9.200.1 ( MATCH )
$ echo " 192.9.200.1" |
perl -ne'BEGIN{$ip=shift}
print if/^\Q$ip\E$/;' "192.9.200.1"
NO MATCH
echo "192.9.200.1 " |
perl -ne'BEGIN{$ip=shift}
print if/^\Q$ip\E$/' "192.9.200.1"
NO MATCH
预期成绩
echo "192.9.200.1 "|
perl -ne'BEGIN{$ip=shift}
print if/^\Q$ip\E$/;' "192.9.200.1"
should MATCH
echo "192.9.200.1"|
perl -ne'BEGIN{$ip=shift}
print if/^\Q$ip\E$/;' "192.9.200"
should NOT MATCH
echo "192.9.200.1"|
perl -ne'BEGIN{$ip=shift}
print if/^\Q$ip\E$/;' "192.9.200."
should NO MATCH