我有一个如下文件
* jhasjdhjh
sample1
* oioieoirer
sample2
* jsdhfjhdf
* ppppppp
sample3
* iouiuiouo
我希望成为
* jhasjdhjh
* sample
* oioieoirer
* sampel2
* jsdhfjhdf
* ppppppp
* sample3
* iouiuiouo
因此sample1和sample2我们要添加*
(星号空间),因为上一行和下一行具有*
(星号空间)
sample3我们要添加*(5个空格和星号),因为前一行具有(空格和星号)
所以我必须根据它们的星号检查上一行和下一行,然后再决定在当前行上放什么。
答案 0 :(得分:0)
如果数据为“ d”,请尝试使用gnu sed,
sed -Ez 's/(\s*\*\s*\S+\s*\n)(\S+)/\1 *\2/g ' d