如何在Bash脚本中操作从路由表中获取的特定IP地址。

问题描述 投票:0回答:1

我试图用Bash Script写一个网络扫描器,我从路由表(我的路由器的IP)中获取一个IP,但现在我想删除该IP的最后一位数字,并放入一个字母,这样我就可以将该IP地址放在一个循环中,以生成一个更有顺序的IP地址。

这就是我所说的代码。

first_ip=$(route -n | awk 'NR>2{print $2}' | head -1)

现在,如何删除IP的最后一个字符?

bash ip
1个回答
0
投票

你可以 去掉 后半段 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.然后你可以添加任何你想添加的数字......

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.