我是 Linux 和编写脚本等方面的新手。我有这个任务,我需要从数据库中找到一个 IP 地址,然后用这个 IP 和下一个来查看一堆文件,如果他们在那里有任何存在。目前我必须先写:
rwhois -Br 0.0.0.0
然后
grep -wl '0.0.0.0\|0.0.0.1' /path/to/some/files
而且我必须手动更改 rwhois 和 grep 的最后一位数字。 我什至编写了一个像这样的简单函数
function info () {
rhowis -Br $1
grep -w '$1\|$1'
}
但当然我必须以某种方式将后一个输入的值增加 1。有什么好的建议吗?感谢您对您更改的内容进行简短的解释,以便我可以从中学习。谢谢!
最佳答案
用 awk
增加最后一位很简单:
info() {
local ip="$1"
local nextip=$(awk -F. '{ print $1 "." $2 "." $3 "." ($4+1) }' <<<"$1")
rhowis -Br "$ip"
grep -w "$ip\|$nextip'
}
请注意,这不会处理换行(当最后一位数字为 255
时),但如果您不需要处理广播地址,那应该不是问题。
关于linux - 如何grep两个IP地址并增加最后一个数字的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075645/