独特的search和replace

我有一个两列csv。 如果我将这个csv导入到excel中,那么我最终会得到A列和B列。

列A包含一个文本string,如:1234(每一行都有一个唯一的值)
B列包含一串文本,例如:abcd1234

我需要删除列A中包含的列B中的文本。每行都有唯一的数据,所以示例如下所示:

1234, abcd1234, 5678, efgh5678, 9876, ijkl9876, 

我想要结束的是:

 1234, abcd, 5678, efgh, 9876, ijkl, 

任何想法,我很高兴处理与命令行excel。

在Vim中,可以通过:substitute ,捕获第一列和第二列中不匹配第一个值(通过\1引用)的那些部分来做到这一点。 我会让比赛从第二栏开始(用\zs ); 这样可以避免重新引用replace部分中的第一列,该replace部分仅包含之前( \2 ;不存在于您的示例文本中)和( \3 )来自第1列的重复部分之后的内容。

 :%substitute/^\([^,]\+\),\zs\([^,]*\)\1\([^,]*\)/\2\3/ 

假设一个简单的CSV格式, [^,]代表列中的任何字符。