gpt4 book ai didi

vim - 如何在 Vim 中匹配模式后删除文本直到每一行的末尾?

转载 作者:行者123 更新时间:2023-12-02 08:25:31 24 4
gpt4 key购买 nike

我有一个包含以下内容的文件:

domproxy1.dom.company.com  Centos CentOS 6.5 production  S5520UR   7 days ago  Edit
domproxy10.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy11.dom.company.com Centos CentOS 6.5 production X8DTU 7 days ago Edit
domproxy15.dom.company.com Centos CentOS 6.6 production X8DTU 8 days ago Edit
domproxy2.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy3.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy4.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy5.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy6.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy9.dom.company.com Centos CentOS 6.5 production S5520UR 7 days ago Edit
domproxy29.dom.company.com Centos CentOS 6.6 production S2600GZ about 1 month ago Edit
orgcmsui03.nj.company.com Centos CentOS 6.6 production Virtual Mac... 6 days ago Edit
domftp01.dom.company.com Centos CentOS 6.4 production ProLiant DL... 40 minutes ago Edit

我想将每行的(.com *) 替换为(.com),这意味着删除每行主机名之后的所有内容。

vim 中,我尝试了以下操作:

:%s/.com $/.com/g
:%s/.com*$/.com/g
:%s/.com .*/.com/g

据我所知,这就是我正在做的:

:%s/ - search on all the file
.com .*/ - the search pattern
.com/ - the replace pattern
/g - global

但是没有用,我做错了什么?

最佳答案

:%s/[.]com.*/.com

这将完全满足您的需求。

%s 搜索整个文件

/[.]com.* 查找 .com 和后面的任何内容,直到行尾

/.com 将搜索到的模式替换为.com

您不必在末尾使用 /g,因为每行中只有一次 .com

如果您不想将 .company.com 替换为 .com,请使用以下命令

:%s/[.]com\>.*/.com

关于vim - 如何在 Vim 中匹配模式后删除文本直到每一行的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32603341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com