4

我一直在尝试学习 sed,我在这里找到的示例用于将日期从 05082012 交换到 20120805,我无法使其适应我当前的需要。

我需要将 IP 地址 10.4.13.22 转换为 nsupdate 脚本的反向查找 22.13.4.10。我最大的问题是有时每个八位字节都可以改变长度,例如 10.4.13.2 和 10.19.8.126

谢谢你的帮助!

echo 10.0.2.99 | sed 's/\(....\)\(....\)/\2\1/'

这是我目前尝试过的,只是基于此处的另一个问题,但由于这些示例没有提供太多解释......意味着什么,我无法理解它的作用。

这是该命令 .2.910.09 的输出,我期待 99.2.0.10

直接,我想重新排列由“。”分隔的每个“部分”。

4

1 回答 1

6

“反转” IPv4 地址的“蛮力”方法是:

sed 's/\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)/\4.\3.\2.\1/g'

或者,对于 GNU sed,

sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\4.\3.\2.\1/g'
于 2012-09-23T11:50:05.877 回答