巧用vim实现批量修改

news/2025/2/15 8:39:55/文章来源:https://www.cnblogs.com/guochaoxxl/p/18716489
今天升级系统时,执行完sudo pacman -Syyu,输入密码后,又出一堆警告
警告:0ad:本地 (a27-1) 比 extra 的版本更新 (a26-19)
警告:0ad-data:本地 (a27-1) 比 extra 的版本更新 (a26-2)
警告:abseil-cpp:本地 (20240722.1-1) 比 extra 的版本更新 (20240722.0-1)
警告:akonadi:本地 (24.12.2-1) 比 extra 的版本更新 (24.12.1-1)
警告:akonadi-calendar:本地 (24.12.2-1) 比 extra 的版本更新 (24.12.1-1)
警告:akonadi-contacts:本地 (24.12.2-1) 比 extra 的版本更新 (24.12.1-1)
警告:akonadi-import-wizard:本地 (24.12.2-1) 比 extra 的版本更新 (24.12.1-1)
……
警告:xorg-xwayland:本地 (24.1.5-1) 比 extra 的版本更新 (24.1.4-1)
警告:xz:本地 (5.6.4-1) 比 core 的版本更新 (5.6.3-1)
警告:yakuake:本地 (24.12.2-1) 比 extra 的版本更新 (24.12.1-1)
警告:zenity:本地 (4.0.5-1) 比 extra 的版本更新 (4.0.3-1)
警告:zlib-ng:本地 (2.2.3-2) 比 extra 的版本更新 (2.2.3-1)
警告:zvbi:本地 (0.2.43-1) 比 extra 的版本更新 (0.2.42-1)今日无事可做

  其实就是,我原来用的是testing的仓库,系统升级后,将镜像仓库改回了stable了,修改/etc/pacman.d/mirrorlist 即可,sudo vim  /etc/pacman.d/mirrorlist 

10 ## Country : China
11 Server = https://mirror.nju.edu.cn/manjaro/stable/$repo/$arch
12
13 ## Country : China
14 Server = https://mirrors.ustc.edu.cn/manjaro/stable/$repo/$arch
15
16 ## Country : China
17 Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch
18
19 ## Country : China
20 Server = https://mirrors.jlu.edu.cn/manjaro/stable/$repo/$arch
21
22 ## Country : China
23 Server = https://mirror.nyist.edu.cn/manjaro/stable/$repo/$arch
24
25 ## Country : China
26 Server = https://mirrors.sjtug.sjtu.edu.cn/manjaro/stable/$repo/$arch

  原来,总是将光标移到对应行,将stable用testing替换,今天忽然想到,为什么不试试vim的底行模式中的查找和替换呢,命令如下:

:%s/stable/testing/g

命令解读::是执行底行命令的标志和开始

%表明对整个文件执行以下的操作,命令执行的范围

s表明操作的具体命令就是查找和替换

/stable表明被替换的关键字是stable

/testing表明替换的关键字是testing

/g表明如果一个行上有多个关键字满足替换时,都要替换,否则只是替换第一个

综合来说,就是对整个文件的每一行中查找关键字stable,将所有的查找到的关键字stable替换成testing。

1 ##2 ## Manjaro Linux 自定义的镜像列表3 ## 生成于 2025-02-14 22:194 ##5 ## 请使用 'pacman-mirrors -id' To reset custom mirrorlist6 ## 请使用 'pacman-mirrors -c all' To reset custom mirrorlist7 ## 删除自定义配置运行   'pacman-mirrors -c all'8 ##910 ## Country : China11 Server = https://mirror.nju.edu.cn/manjaro/testing/$repo/$arch1213 ## Country : China14 Server = https://mirrors.ustc.edu.cn/manjaro/testing/$repo/$arch1516 ## Country : China17 Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/testing/$repo/$arch1819 ## Country : China20 Server = https://mirrors.jlu.edu.cn/manjaro/testing/$repo/$arch2122 ## Country : China23 Server = https://mirror.nyist.edu.cn/manjaro/testing/$repo/$arch2425 ## Country : China26 Server = https://mirrors.sjtug.sjtu.edu.cn/manjaro/testing/$repo/$arch27~
~
~
66 次替换                   

执行的结果显示,进行了6次替换,貌似没有那么多,如果需要600次,6000次,60000次,乃至是60000000次呢,所以还是要掌握这种替换方法,会更加高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/884114.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五分钟搞定!Linux平台上用Ansible自动化部署SQL Server AlwaysOn集群

五分钟搞定!Linux平台上用Ansible自动化部署SQL Server AlwaysOn集群前言 以下内容是由红帽官方博客整理而成,使用Ansible在Linux平台上自动化部署SQL Server AlwaysOn集群不熟悉整个流程的朋友可以先看之前的部署文章,手动部署一遍 从DNS配置到Pacemaker部署:一步步教你在…

Wireshark的部署(学习笔记)

〇、大纲 1、远程数据包捕获 2、集线器环境下数据包捕获 3、交换机环境下数据包捕获 4、本地流量的捕获 5、虚拟机流量的捕获 一、远程数据包捕获 情形:需要异地管理分析服务器流量,有服务器控制权。方案:使用WinPcap下的Rpcap运行在目标服务器上,向远程控制机传回流量。服…

LeetCode 第24题:两两交换链表中的节点

LeetCode 第24题:两两交换链表中的节点 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 难度 中等 题目链接 https://leetcode.cn/problems/swap-nodes-in-pairs/ 示例 示…

LeetCode 第25题:K 个一组翻转链表

LeetCode 第25题:K 个一组翻转链表 题目描述 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 不能只是单纯的改变节点内部的值,…

HJ25 数据分类处理

题目:我的答案: #include <iostream> #include <string> #include <vector> #include <set> #include <map>using namespace std;bool match(const int R, const string &I) {if (I.find(to_string(R)) != std::string::npos){return true;}…

Java Web - 后端

Java Web 后端的基础知识: Maven, Spring Boot, MySQL, JDBC, MyBatisJava Web - 后端 Maven 基于项目对象模型 (POM) 的概念, 通过一小段描述信息来管理项目的构建 官网各种插件以构建生命周期/阶段依赖管理模型从仓库中查找 jar包仓库: 存储资源, 管理 jar包本地仓库: 自己计…

汇编语言笔记_1

汇编语言学习笔记(一)1.基础知识 汇编语言是直接在硬件上工作的语言,本章重在了解硬件系统结构 1.1 机器语言 CPU(中央处理单元)是一种微处理器,功能是执行机器指令每一种微处理器由于硬件设计和内部结构的不同,有自己的机器指令集,也就是机器语言由于机器码晦涩难懂和…

基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证

1.算法运行效果图预览 (完整程序运行后无水印)这里实现的是256*256双线性插值到512*512的系统模块局部放大:将数据导入到matlab,得到插值效果图:2.算法运行软件版本 matlab2022avivado2019.23.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)`timescale 1ns / 1…

Windows Teminal 自定义标题

背景与痛点场景: 开发环境,用命令行开了好几个微服务,窗口标题都是一样的,不好分清哪个窗口是哪个服务的了。所有窗口默认显示相同的标题(如"C:\Windows\System32\cmd.exe dotnet run")。窗口多了,切换也不方便。 解决方案: 使用Windows Teminal 来运行命令启…

前端开发day2

前端开发day2 今日概要:案例应用(利用之前所学知识) CSS知识点 模板 + CSS + 构建页面1.CSS案例 1.1 内容回顾HTML标签 固定格式,记住标签长什么样子,例如: h/div/span/a/img/ul/li/table/input/formCSS样式引用CSS:标签、头部、文件 .xx{... }<div class=xx xx>&…