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