使用Vim编辑器批量替换某个目录下的所有文件字段内容【测试成功】

艺帆风顺 发布于 2025-04-03 75 次阅读


一、问题背景

    存在某个目录下,很多配置文件,需要批量替换其中的内容,将将/root/apps/替换为/home2/demo_envs/。

[root@localhost nginx-conf]# lsauth.conf         eam-prod.conf  jb-budget.conf  ptbd-gxs.confauth-server.conf  fim.conf       kpi.conf        ptbd-shuiwu.confbamboo.conf       fim-prod.conf  kpi-gxs.conf    ptbd-tianyou.confcert              fim-qlc.conf   logs            smartDI-di.confdynamic.conf      fim-zd.conf    ptbd-app.conf   store.confeam.conf          hr.conf        ptbd.conf

server {    listen       9001;    root         /home2/demo_envs/eam/web/dist;
location / { try_files $uri $uri/ /index.html; index index.html index.htm; }

二、需求实现

    在 Vim 中批量替换可以使用 :args 命令来匹配文件,然后使用 :argdo 命令来执行替换操作。

    在 Vim 中批量替换可以使用 :args 命令来匹配文件,然后使用 :argdo 命令来执行替换操作。以下是具体步骤:

  1. 1、打开 Vim 并进入编辑模式。

    2、使用 :args 命令来匹配需要修改的文件。

    :args /home2/demo_envs/nginx-conf/*

   3、使用 :argdo 命令执行替换操作。例如,将/root/apps/ 替换为 /home2/demo_envs/,可以使用:使用 # 作为替换命令的分隔符,以避免在路径中的斜杠 / 写成 /

    :argdo %s#/root/apps/#/home2/demo_envs/#g | update

    4、最后,保存修改并退出 Vim:

        :wa | q
    

    备注:修改前建议先进行备份操作。