在Bash中,我能得到IP地址的最后一部分吗?
$ A="10.10.10.46"
$ echo ${A##*.}
46
在Perl中可以很容易地完成类似的任务吗?
发布于 2014-08-01 01:52:00
你可以通过把数字和字符串的结尾相匹配来得到最后一个八进制,
my $A = "10.10.10.46";
print $1 if $A =~ /([0-9]+)$/;
或者通过在点字符上分割并选择最后一个列表元素,
my $num = ( split /[.]/, $A )[-1];
发布于 2014-08-01 01:51:43
在Perl中:
my $a = "10.10.10.46";
print $1 if $a =~ /\.(\d{1,3})$/;
这个正则表达式将匹配最后1到3位数字,并确保前面有一个点。
发布于 2014-08-01 01:51:52
在perl中使用底座
my $str1 = "10.10.10.46";
$out1 = substr($str1, -2);
现在假设你有两个以上的数字;
在最后一个点之后得到所有东西
(?<=\.)\d+$
https://stackoverflow.com/questions/25077412
复制相似问题