加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何创建VIM或Vi命令以在文本文件中的每一行的某

发布时间:2020-12-14 06:32:54 所属栏目:百科 来源:网络整理
导读:场景: 我有一个文本文件具有管道(如|字符)分隔的数据。 管道分隔字段中的每个数据字段可以是可变长度的,因此计数字符将不起作用(或使用某种子字符串函数…,如果甚至存在于Vim中)。 是否可以使用Vim / Vi将所有数据从第二个管道删除到整个文件的行尾?有大
场景:

>我有一个文本文件具有管道(如|字符)分隔的数据。
>管道分隔字段中的每个数据字段可以是可变长度的,因此计数字符将不起作用(或使用某种子字符串函数…,如果甚至存在于Vim中)。

是否可以使用Vim / Vi将所有数据从第二个管道删除到整个文件的行尾?有大约15万行,所以手动这样做只会吸引一个受害者…

例如

更改以下行:

1111|random sized text 12345|more random data la la la|1111|abcde
2222|random sized text abcdefghijk|la la la la|2222|defgh
3333|random sized text|more random data|33333|ijklmnop

至:

1111|random sized text 12345
2222|random sized text abcdefghijk
3333|random sized text

我相信这可以做某事…我希望。

TIA

更新:我应该提到我在Windows XP上运行,所以我没有访问一些提到的* nix命令(CUT在Windows上无法识别)。

:%s/^v([^|]+|[^|]+)|.*$/1/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读