在任意数量的数字字符后插入新行

时间:2017-11-15 14:37:53

标签: sed

我需要在包含10个数字的“数字”字符串后面的文本文件中插入一个新行或分隔符,然后是“ - ”,然后是1到4个数字......

示例:

randomtext,1234567890-1234blahblah

应该是:

randomtext,1234567890-1234, blahblah

或者:

randomtext,1234567890-1234
blahblah

请注意,这组数字将始终为10个字符, - 后面的数字将为1,2,3或4个字符。

我已经将sed用于类似的任务,但找不到使用最后一组数字的方法,这些数字从1到4个字符不等....

我真的希望有人可以帮忙!

非常感谢!

1 个答案:

答案 0 :(得分:0)

$ echo randomtext,1234567890-1234blahblah | 
  sed -E 's/[0-9]{10}+-[0-9]{1,4}/&\n/'

randomtext,1234567890-1234
blahblah