在unix中为电话号码添加括号

时间:2015-10-29 17:12:16

标签: unix sed

我有一个包含多个联系人的文件,我需要在电话号码的区号周围添加括号。文件的格式是这个。

Jenniffer Cowan:255-666-5645
Norma Corder:397-888-9999

等等......如果你能尽可能详细地解释它,那就太好了。我知道我需要使用sed -e命令,这就是它。

1 个答案:

答案 0 :(得分:1)

这是命令:

sed -e 's/:\([0-9][0-9][0-9]\)-/:(\1)-/' infile >outfile

单引号中的正则表达式执行此操作:

  • 搜索冒号的每次出现,然后是三位数,然后是连字符
  • 捕获捕获组中的三位数字
  • 用冒号代替整个比赛,然后是左边的paren,然后是被捕获的组,然后是右边的paren,然后是连字符

它将在每一行的第一场比赛中执行此操作。如果您的线路有许多电话号码字段,则只会更改找到的第一个字段。