【发布时间】:2021-08-01 05:49:15
【问题描述】:
我正在编写一个可以像这样转换数字(11 位)的脚本:
示例输入:
11111111111
12345678900
示例输出:
(11) 1 1111-1111
(12) 3 4567-8900
这是我正在使用的命令:
echo "$(sed 's/\(..\)\(.\{5\}\)/(\1)\2-/g' $file)"
但是输出是:
(11)11111-1111
(12)34567-8900
任何人都可以帮助我如何用空格隔离第三个数字作为示例输出?我只能使用 sed 和 RegEx。谢谢!
【问题讨论】:
-
使用 GNU sed 朝着正确的方向前进:
sed -E 's/(.{2})(.)(.{4})(.{4})/\1 \2 \3 \4/' file