我怎样才能转换这个:
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/'
它能做什么:
- 五组点分隔的非点(捕获但忽略)
- 捕获其他组
- 重建字符串