sed - 如何使用 SED(转置)重新排列数字
问题描述
我有一条线:
The ID number for product is 721- 971-4321.`
我想把区号换成里面的号码,像这样:971- 721-4321
这是我所拥有的:
17s/\([654]\)-\([817]\)/\2-\1/
所以这个数字在 .txt 文件的第 17 行。线上还有其他东西,但我只想更改号码。
每当我运行脚本时,什么都没有发生。任何建议如何解决这个问题。
解决方案
请您尝试以下操作。
sed 's/\([^0-9]*\)\([^-]*\)\([^0-9]*\)\([^-]*\)\(.*\)/\1\4\3\2\5/' Input_file
说明:我正在使用here的here反向引用功能sed
。通过使用正则表达式,我创建了 5 个临时缓冲区,然后按照 OP 的请求重新访问它们以进行输出。
输出如下。
The ID number for product is 971- 721-4321.
推荐阅读
- javascript - Vue js如何选择数组中的项目
- python - 为什么python中两个不同变量的地址相差320?
- php - 警告:为 foreach() 提供的参数无效 - Contao CMS
- java - 如何让 Drools 访问动态加载的类?
- node.js - 使用带有 axios 的基本身份验证时不会出现登录弹出
- javascript - 如何在 HTML/CSS/JavaScript 中的 TypeWriter 效果后放置闪烁 _
- android - 如何将英文 JSON 数组翻译成另一种语言
- java - gmail上的html表单有时会在提交时丢失选中的复选框
- r - 新列中的计算
- javascript - Discord.js 欢迎消息问题。我该如何解决?