Linux?vim全局替換的實現(xiàn)方法
Linux vim全局替換
Linux命令:vi全局替換方法
語法為 :[addr]s/源字符串/目的字符串/[option]
全局替換命令為::%s/源字符串/目的字符串/g
[addr]: 表示檢索范圍,省略時表示當前行。
- 如:“1,20” :表示從第1行到20行;
“%”
:表示整個文件,同“1,$”;“. ,$”
:從當前行到文件尾;
s :表示替換操作
[option] :表示操作類型
- 如:g 表示全局替換;
- c 表示進行確認
- p 表示替代結果逐行顯示(Ctrl + L恢復屏幕);
- 省略option時僅對每行第一個匹配串進行替換;
- 如果在源字符串和目的字符串中出現(xiàn)特殊字符,需要用”\”轉義
1. 基本的替換
:s/vivian/sky/
替換當前行第一個 vivian 為 sky:s/vivian/sky/g
替換當前行所有 vivian 為 sky:n,$s/vivian/sky/
替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky:n,$s/vivian/sky/g
替換第 n 行開始到最后一行中每一行所有 vivian 為 sky
(n 為數(shù)字,若 n 為 .,表示從當前行開始到最后一行)
:%s/vivian/sky/
(等同于 :g/vivian/s//sky/)替換每一行的第一個 vivian 為 sky:%s/vivian/sky/g
(等同于 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky
2. 可以使用 # 作為分隔符,此時中間出現(xiàn)的 / 不會作為分隔符
:s#vivian/#sky/#
替換當前行第一個 vivian/ 為 sky/:%s+/oradata/apras/+/user01/apras1+
(使用+ 來替換 / ): /oradata/apras/替換成/user01/apras1/
vim替換和查找
基本查找和替換
在Vim中,可以使用 :substitute(:s)
命令來查找和替換文本。
要在Vim中運行命令,必須處于 normal
模式,這是啟動編輯器時的默認模式。 要從其他任何模式返回 normal
模式,只需按 Esc
鍵。
替換命令的一般形式如下:
:[range]s/{pattern}/{string}/[flags] [count]
該命令在 [range]
中的每一行中搜索 {pattern}
,并將其替換為 {string}
。 是與命令 [count]
相乘的正整數(shù)。
如果未給出 [range]
和 [count]
,則僅替換當前行中找到的 pattern
。 當前行是光標所在的行。
range確定范圍,不寫默認為當前行。
% # 表示整個文件內(nèi)容 . # 表示當前行 $ # 表示最后一行 m,n # 表示從第m行到第n行 ,n # 表示從當前行到第n行 n, # 表示從第n行到當前行 n # 指定行 +n # 表示當前行之后的n行
flags為替換標志位,默認為指定范圍內(nèi)的行的第一次匹配的位置,幫助文檔:h s_flags
常用標志如下:
g: global,表示在指定范圍內(nèi)執(zhí)行全局操作,替換所有匹配項 c: confirm,可以確認或拒絕修改 n: number,報告匹配到的次數(shù),不替換,可用來查詢匹配次數(shù) i: 執(zhí)行不區(qū)分大小寫的替換 I: 執(zhí)行區(qū)分大小寫的替換 e: 防止替換失敗時顯示錯誤消息
單行查找后替換
:s/{pattern}/{string}/gc
單行一個一個確認替換:%s/{pattern}/{string}/gc
范圍整個頁面一個一個確認替換:m,ns/str1/str2/
替換第 n 行開始到最后一行中每一行的第一個 str1 為 str2
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
服務器Centos部署MySql并連接Navicat過程詳解
這篇文章主要介紹了服務器Centos部署MySql并連接Navicat過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07CentOS 5.4下的Memcache安裝步驟(Linux+Nginx+PHP+Memcached)
CentOS 5.4下的Memcache安裝步驟分享,想要配置Linux+Nginx+PHP+Memcached運行環(huán)境的朋友可以參考下2012-02-02Linux 啟動停止SpringBoot jar 程序部署Shell 腳本的方法
這篇文章主要介紹了Linux 啟動停止SpringBoot jar 程序部署Shell 腳本的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04linux系統(tǒng)中設置定時任務的實現(xiàn)方式
在SpringBoot中設置定時任務,需要使用@EnableScheduling注解和@Scheduled注解,配合cron表達式,在Linux系統(tǒng)中,使用crontab工具可設置系統(tǒng)級的定時任務,首先需要創(chuàng)建執(zhí)行腳本,并賦予執(zhí)行權限,然后通過crontab?-e進入編輯界面2024-10-10