如何使用正则表达式或类似模式匹配删除 vi 中不需要的文本

how to remove unwanted text in vi with regex or similar pattern match

我是 vim/vi 新手,我有一个包含以下示例字符串的巨大文本文件:

events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AS "event - tags - (all) aar conversion tag (mainsharepoint 58) - executed"

我需要清理它并基本上删除所有包含此示例字符串的实例 - AS "event - tags - (all) aar conversion tag (mainsharepoint 58) - executed"

所以,真的 AS "anything here and in between double quotes"

我能得到一些关于如何清理它的帮助吗?谢谢!

删除 "AS" 后跟引号中的文本

命令

:%s/ AS ".*"//

之前

events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AS "event - tags - (all) aar conversion tag (mainsharepoint 58) - executed"
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AS "alpha"
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AS "event - blah blah blah" keep trailing stuff
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AT "event - tags - (all) aar conversion tag (mainsharepoint 58) - executed"

之后

events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed keep trailing stuff
events__d5392b9f_063b_4977_d8f2_17aa2b16b070.tags_mainsharepoint_58_executed AT "event - tags - (all) aar conversion tag (mainsharepoint 58) - executed"

只要每行只有一个匹配项,这就有效

您可以直接在命令行中使用 Vi/Vim 操作逻辑,在可视模式下使用 ex 命令。

ex -sc '%s/ AS ".*"//|x' file