sed - 如何使用 sed 转置单个字符
问题描述
我正在尝试将第 3 位数字与第 8 位数字转置。用电话号码试试这个:
(888) 747-7424
换位后:
(884) 747-7824
这就是我所拥有的:
sed -E 's/(..)(.)(....)(.)(.*)/\1\4\3\2\5/'
它转置了第 2 位和第 5 位数字。
解决方案
你只是记错了字符:
$ sed -E 's/(.{3})(.)(.{7})(.)/\1\4\3\2/' file
(884) 747-7824
推荐阅读
- c# - IdentityServer 4 和已经使用 ASP.Net Identity Framework 的 MVC 5 .Net Framework 客户端
- android - 是否可以使用 XML 布局中的数据绑定访问为 TextView 编写的扩展函数?
- c# - 使用 C# 验证 SSL 证书
- ruby-on-rails - 在我的控制器中创建一个引发加载错误的动态下拉菜单
- java - 如何将 Ignite 配置为集群 Tomcat 应用程序的缓存
- javascript - 如何使用nodejs全屏启动chrome
- flutter - 文本字段使用多行keyboardType限制行数
- node.js - Node.js Mongo 未处理错误 EADDRINUSE :::5000
- java - Java 不会在 mac OS(Mojave) 上卸载
- vue.js - 未触发 vue 组件中的 @click