Regex 用于从管道分隔文件中删除最后一列的正则表达式

Regex 用于从管道分隔文件中删除最后一列的正则表达式,regex,vim,Regex,Vim,我有一个包含1000个条目和131列的文件,这些列是用管道分隔的。末端没有管道,因此格式类似 2010-10-04 |安全|修订| 20162214 |。。。更多的专栏|彭博社 如何删除文件的最后一列,比如在Vim中?此正则表达式将捕获最后一列:\\\\\\[^\]+$我只需使用cut,或awk按一下就可以了 %s/|[^|]*$// 注意:我使用[^ |]*来允许空列。另一种方法: :%s/.*\zs|.*// 当我尝试该模式时,我没有找到模式。请确保您已针对您的语言对其进行了适当的转义

我有一个包含1000个条目和131列的文件,这些列是用管道分隔的。末端没有管道,因此格式类似

2010-10-04 |安全|修订| 20162214 |。。。更多的专栏|彭博社


如何删除文件的最后一列,比如在Vim中?

此正则表达式将捕获最后一列:
\\\\\\[^\]+$
我只需使用
cut
,或
awk
按一下就可以了

%s/|[^|]*$// 
注意:我使用
[^ |]*
来允许空列。

另一种方法:

:%s/.*\zs|.*//

当我尝试该模式时,我没有找到模式。请确保您已针对您的语言对其进行了适当的转义。您需要的是vim中的
\
而不是
\