在特定位置互换角色在不同长度的字符串

问题描述 投票:4回答:1

我一直在努力学习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

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

bash sed character swap
1个回答
6
投票

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'
© www.soinside.com 2019 - 2024. All rights reserved.