我试图用Bash Script写一个网络扫描器,我从路由表(我的路由器的IP)中获取一个IP,但现在我想删除该IP的最后一位数字,并放入一个字母,这样我就可以将该IP地址放在一个循环中,以生成一个更有顺序的IP地址。
这就是我所说的代码。
first_ip=$(route -n | awk 'NR>2{print $2}' | head -1)
现在,如何删除IP的最后一个字符?
你可以 去掉 后半段 IP地址 借用 grep
:
first_ip=$(route -n | awk 'NR >2 { print $2 }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
这将为你提供IP-地址的前三个数字,这些数字由 route-n
.然后你可以添加任何数字XXX,你想这样。
first_ip=$(route -n | awk 'NR >2 { print $2 }' | head -1 | grep -oE "\b([0-9]{1,3}\.){3}")
first_ip = first_ip"XXX"
所以如果你的IP地址是 192.155.177.123 你得到 192.155.177.然后你可以添加任何你想添加的数字......
希望能帮到你