删除字符串中的某些元素并替换为其他元素

删除字符串中的某些元素并替换为其他元素

我怎样才能转换这个:

RS.PK.03.01.4200.03.014.01 到 man03140101?

需要做什么?

第 5 个“.”之前的文本必须删除:RS.PK.03.01.4200
应转换的剩余文本03.014.01应转换为031401. “0”被删除,“014”
01被添加到最后:03140101
在前面添加 man:man03140101
我需要在一个文件中进行数百次这样的转换。

答案1

sed 's/^\([^\.]*\.\)\{5\}\(..\)\..\(..\)\.\(..\)/man\2\3\401/'

它能做什么:

  • 五组点分隔的非点(捕获但忽略)
  • 捕获其他组
  • 重建字符串

相关内容