首页 > 解决方案 > 如何使用 sed 转置单个字符

问题描述

我正在尝试将第 3 位数字与第 8 位数字转置。用电话号码试试这个:

(888) 747-7424

换位后:

(884) 747-7824

这就是我所拥有的:

sed -E 's/(..)(.)(....)(.)(.*)/\1\4\3\2\5/'

它转置了第 2 位和第 5 位数字。

标签: sedposix

解决方案


你只是记错了字符:

$ sed -E 's/(.{3})(.)(.{7})(.)/\1\4\3\2/' file
(884) 747-7824

推荐阅读