翻译变量内的数字(IP 地址)(bash)
Translate numbers (IP address) inside a variable (bash)
我的问题是我的 IP 地址像 10.3.1.33
此 IP 地址在变量 ip=10.3.1.33
内
现在我想用“*”翻译那个IP地址里面的33
。
“33”可以改变,所以这个数字必须自动放在变量的某个地方等等......
我不知道该怎么做。感谢您的任何建议:)
在您非常具体的情况下,您可以使用:
$ ip="10.3.1.33"
$ printf "%s\n" "${ip/33/*}"
10.3.1.*
并替换(删除)最后一段之后的所有内容:
$ ip="10.3.1.33"
$ printf "%s\n" "${ip%.*}.*"
10.3.1.33
后者 POSIX 兼容,而第一个在 bash 中可用(以及其他 shell)
我可以考虑一下:
ip=1.2.3.4
ip1=${ip%.*}.*
我的问题是我的 IP 地址像 10.3.1.33
此 IP 地址在变量 ip=10.3.1.33
现在我想用“*”翻译那个IP地址里面的33
。
“33”可以改变,所以这个数字必须自动放在变量的某个地方等等......
我不知道该怎么做。感谢您的任何建议:)
在您非常具体的情况下,您可以使用:
$ ip="10.3.1.33"
$ printf "%s\n" "${ip/33/*}"
10.3.1.*
并替换(删除)最后一段之后的所有内容:
$ ip="10.3.1.33"
$ printf "%s\n" "${ip%.*}.*"
10.3.1.33
后者 POSIX 兼容,而第一个在 bash 中可用(以及其他 shell)
我可以考虑一下:
ip=1.2.3.4
ip1=${ip%.*}.*