我有一个看起来像这样的 CSV 文件:
productSku-1,attribute1,2,3
productSku-1,attribute4,5
productSku-1,attribute4,5
productSku-2,attribute1,2,3
productSku-2,attribute4,5
productSku-3,attribute1,1
我试图将相同的产品属性“折叠”成一行,同时去掉productSku
. 因此,我将产品与下一行匹配,然后删除下一productSku
行以及换行符以将其压缩为一行。在上面的示例中,结果应如下所示:
productSku1,attribute1,2,3,attribute4,5,attribute4,5
productSku2,attribute1,2,3,attribute4,5
productSku3,attribute1,1
我认为以下替换命令会起作用,但我从未使用过该\%
符号。
:%s/(^[A-Za-z0-9-]+)(.)((\%(\n\1)(.))+)/\1\2\3
我认为它会从匹配中排除匹配 \3
......但它不起作用。