在特定位置互换角色在不同长度的字符串(Swap characters in specific pos

2019-07-31 20:23发布

我一直在努力学习sed和我在这里发现的例子用于交换日期从05082012到20120805,我有麻烦他们适应我现在的需要。

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

谢谢你的帮助!

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

这是目前我已经试过,只是基于了另一个问题在这里,但因为这些实例没有提供太多的解释,以什么....手段,有麻烦林了解它做什么。

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

直接,我想这是由分隔每个“部分”重新安排“”

Answer 1:

A“暴力破解”方法“反向” 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'


文章来源: Swap characters in specific positions in strings of varying lengths