批量查找关键字且删除对应行

文章需要在了解终端、vim基本使用的前提下观看。

在一个文件里批量操作

在项目开发过程中,我们可能会需要批量删除带有关键词的对应行,如果是在同一个文件里面的话执行此操作的话,比如文件中文本如下:

begin
MrYu4
sfafaMrYu4
end

我们用vim在normal模式下:

:g/MrYu4/d

执行后的结果为:

begin
end

文件夹及其子文件夹所有文件进行批量操作

日常开发过程中,我们的项目常常以多层级的文件夹以及其中的文件组成,IDE中常有“全局搜索”、“全局替换”的傻瓜式的功能,但是这里提出的问题是:全局搜索关键字,并且删掉包含对应关键词的行。

首先打开终端,跳转到项目最根部的路径:

cd path

然后用vim打开文件夹及其子文件夹的所有文件:

vim **/**

如果不确认自己打开了什么文件,可以在打开之后用args来进行确认:

:args

不过我们经常不需要全选所有的文件,而是特定类型,那么打开文件的命令需要微调,比如这次我们要打开的是所有.m文件的话:

vim **/**.m

接下来要做的和上一节相似,只是收尾两边需要新增一些东西:

:argdo g/MrYu4/d | update

执行的过程中会弹出日志,如果文件过多的话,中途还会频繁停下来出现“请按Enter或其他命令继续”的提示,如果想直接忽略的话,在执行此命令之前可以在vim内(或者在vimrc文件中)执行:

:set nomore

最后结束vim:

:wa
:qa
posted @ 2022-04-01 21:42  MrYu4  阅读(151)  评论(0编辑  收藏  举报