修剪最后的ip八位字节并反转

时间:2014-12-11 19:20:36

标签: bash awk sed

我正在寻找一个单行解决方案,删除ip地址的最后一个八位字节并反转ip。

例如

206.195.152.176应该成为152.195.206

我在反向部分遇到问题 下面是装饰部分

 echo 206.195.152.176 | sed 's/\.[0-9]*$//'

3 个答案:

答案 0 :(得分:1)

使用awk

echo "206.195.152.176" | awk -F'.' '{print $3,$2,$1}' OFS='.'

使用sed

echo "206.195.152.176" |sed -r 's/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/\3.\2.\1/'

答案 1 :(得分:1)

根据您的IP地址的存储方式以及您的问题中未指定的其他一些内容,这可能是您想要的:

$ var='206.195.152.176'
$ echo "${var:8:3}.${var:4:3}.${var:0:3}"
152.195.206

答案 2 :(得分:0)

您也可以按照以下方式执行此操作

 echo "206.195.152.176"|sed -e 's#\([[:digit:]]\{3\}\).\([[:digit:]]\{3\}\).\([[:digit:]]\{3\}\).*#\3.\2.\1#'

结果

152.195.206