vim中如何删除所有带.的行?
发布网友
发布时间:2022-04-23 13:38
我来回答
共1个回答
热心网友
时间:2023-10-15 03:43
一定要在vim里操作么?我也不太熟悉正则表达式了,你在vi里试试这个命令
s/^#.*\n$//g
s是替换命令,后面有三个/分隔两个区域,前一个区域是需要查找的内容,后一个区域是需要替换的内容,脱字符“^”是行首界定符,只匹配每行前4个字符内包含指定字符的行,这里是#号,所以就是^#,点“.”是匹配任意一个字符,星号“*”匹配任意数目的前一字符,所以“.*”连起来就是表示不小于一个的任意字符,\n是一个转义,表示一个换行字符,$符号是行尾界定符,所以\n$就是表示该行应以换行符结尾,后面一个区域为空,就是把前面一个区域匹配的内容替换为空,实际就是删除了吧……,最后一个g是表示global,全局替换;我在windows,懒得重启换系统去试验了,应该没错了吧,错了跟我说声,我再想想:)
补充回答:
把\n去掉就是这样:s/^#.*$//g
试试,可能linux的vi和unix的不太一样,我看的是unix
shell范例精解:p