加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 在不同长度的字符串中交换特定位置的字符

发布时间:2020-12-15 21:32:04 所属栏目:安全 来源:网络整理
导读:我一直在努力学习sed,我在这里找到的例子是用于交换05082012到20120805的日期,我无法根据目前的需要调整它们. 对于nsupdate脚本,我需要将IP地址10.4.13.22转换为22.13.4.10的反向查找.我最大的问题是有时每个八位字节都可以改变长度,例如: 10.4.13.2和10.19
我一直在努力学习sed,我在这里找到的例子是用于交换05082012到20120805的日期,我无法根据目前的需要调整它们.

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

谢谢你的帮助!

echo 10.0.2.99 | sed 's/(....)(....)/21/'

这是我目前所尝试的,只是基于这里的另一个问题,但由于这些例子没有提供太多解释,因为……意思是,我无法理解它的作用.

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

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

解决方法

“反转”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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读