欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux?vim全局替換的實(shí)現(xiàn)方法

 更新時(shí)間:2023年08月25日 08:39:27   作者:bluewelkin  
這篇文章主要介紹了Linux?vim全局替換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Linux vim全局替換

Linux命令:vi全局替換方法

語法為 :[addr]s/源字符串/目的字符串/[option]

全局替換命令為::%s/源字符串/目的字符串/g

[addr]: 表示檢索范圍,省略時(shí)表示當(dāng)前行。

  • 如:“1,20” :表示從第1行到20行;
  • “%” :表示整個(gè)文件,同“1,$”;
  • “. ,$” :從當(dāng)前行到文件尾;

s :表示替換操作

[option] :表示操作類型 

  • 如:g 表示全局替換;
  • c 表示進(jìn)行確認(rèn)
  • p 表示替代結(jié)果逐行顯示(Ctrl + L恢復(fù)屏幕);
  • 省略option時(shí)僅對(duì)每行第一個(gè)匹配串進(jìn)行替換;
  • 如果在源字符串和目的字符串中出現(xiàn)特殊字符,需要用”\”轉(zhuǎn)義

1. 基本的替換

  • :s/vivian/sky/ 替換當(dāng)前行第一個(gè) vivian 為 sky
  • :s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky
  • :n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個(gè) vivian 為 sky
  • :n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky

(n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開始到最后一行)

  • :%s/vivian/sky/(等同于 :g/vivian/s//sky/)替換每一行的第一個(gè) vivian 為 sky
  • :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky

2. 可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會(huì)作為分隔符

  • :s#vivian/#sky/# 替換當(dāng)前行第一個(gè) vivian/ 為 sky/
  • :%s+/oradata/apras/+/user01/apras1+ (使用+ 來替換 / ): /oradata/apras/替換成/user01/apras1/

vim替換和查找

基本查找和替換

在Vim中,可以使用 :substitute(:s) 命令來查找和替換文本。

要在Vim中運(yùn)行命令,必須處于 normal 模式,這是啟動(dòng)編輯器時(shí)的默認(rèn)模式。 要從其他任何模式返回 normal 模式,只需按 Esc 鍵。

替換命令的一般形式如下:

:[range]s/{pattern}/{string}/[flags] [count]

該命令在 [range] 中的每一行中搜索 {pattern} ,并將其替換為 {string} 。 是與命令 [count] 相乘的正整數(shù)。

如果未給出 [range] [count] ,則僅替換當(dāng)前行中找到的 pattern 。 當(dāng)前行是光標(biāo)所在的行。

range確定范圍,不寫默認(rèn)為當(dāng)前行。

%         # 表示整個(gè)文件內(nèi)容
.         # 表示當(dāng)前行
$         # 表示最后一行
m,n       # 表示從第m行到第n行
,n        # 表示從當(dāng)前行到第n行
n,        # 表示從第n行到當(dāng)前行
n         # 指定行
+n        # 表示當(dāng)前行之后的n行

flags為替換標(biāo)志位,默認(rèn)為指定范圍內(nèi)的行的第一次匹配的位置,幫助文檔:h s_flags

常用標(biāo)志如下:

g: global,表示在指定范圍內(nèi)執(zhí)行全局操作,替換所有匹配項(xiàng)
c: confirm,可以確認(rèn)或拒絕修改
n: number,報(bào)告匹配到的次數(shù),不替換,可用來查詢匹配次數(shù)
i: 執(zhí)行不區(qū)分大小寫的替換
I: 執(zhí)行區(qū)分大小寫的替換
e: 防止替換失敗時(shí)顯示錯(cuò)誤消息

單行查找后替換

  • :s/{pattern}/{string}/gc 單行一個(gè)一個(gè)確認(rèn)替換
  • :%s/{pattern}/{string}/gc 范圍整個(gè)頁(yè)面一個(gè)一個(gè)確認(rèn)替換
  • :m,ns/str1/str2/ 替換第 n 行開始到最后一行中每一行的第一個(gè) str1 為 str2

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 服務(wù)器Centos部署MySql并連接Navicat過程詳解

    服務(wù)器Centos部署MySql并連接Navicat過程詳解

    這篇文章主要介紹了服務(wù)器Centos部署MySql并連接Navicat過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • CentOS 5.4下的Memcache安裝步驟(Linux+Nginx+PHP+Memcached)

    CentOS 5.4下的Memcache安裝步驟(Linux+Nginx+PHP+Memcached)

    CentOS 5.4下的Memcache安裝步驟分享,想要配置Linux+Nginx+PHP+Memcached運(yùn)行環(huán)境的朋友可以參考下
    2012-02-02
  • Linux 啟動(dòng)停止SpringBoot jar 程序部署Shell 腳本的方法

    Linux 啟動(dòng)停止SpringBoot jar 程序部署Shell 腳本的方法

    這篇文章主要介紹了Linux 啟動(dòng)停止SpringBoot jar 程序部署Shell 腳本的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Linux下connect超時(shí)處理(總結(jié))

    Linux下connect超時(shí)處理(總結(jié))

    這篇文章主要介紹了Linux下connect超時(shí)處理(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Linux?/etc/passwd詳解

    Linux?/etc/passwd詳解

    文章介紹了Linux系統(tǒng)/etc/passwd文件的結(jié)構(gòu)和字段含義,包括用戶名、密碼、UID、GID、描述性信息、主目錄和默認(rèn)Shell,UID和GID用于識(shí)別和分配權(quán)限,描述性信息提供用戶相關(guān)信息,主目錄定義用戶登錄后的操作權(quán)限,而默認(rèn)Shell則作為用戶與系統(tǒng)的交互橋梁
    2024-12-12
  • linux下shell常用腳本命令及有關(guān)知識(shí)

    linux下shell常用腳本命令及有關(guān)知識(shí)

    大家好,本篇文章主要講的是linux下shell常用腳本命令及有關(guān)知識(shí),感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 搭建阿里云ecs服務(wù)器之安裝圖形化界面的方法

    搭建阿里云ecs服務(wù)器之安裝圖形化界面的方法

    這篇文章主要介紹了搭建阿里云ecs服務(wù)器之安裝圖形化界面的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • linux系統(tǒng)中設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)方式

    linux系統(tǒng)中設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)方式

    在SpringBoot中設(shè)置定時(shí)任務(wù),需要使用@EnableScheduling注解和@Scheduled注解,配合cron表達(dá)式,在Linux系統(tǒng)中,使用crontab工具可設(shè)置系統(tǒng)級(jí)的定時(shí)任務(wù),首先需要?jiǎng)?chuàng)建執(zhí)行腳本,并賦予執(zhí)行權(quán)限,然后通過crontab?-e進(jìn)入編輯界面
    2024-10-10
  • Linux下SFTP用戶權(quán)限設(shè)置條件及實(shí)現(xiàn)命令

    Linux下SFTP用戶權(quán)限設(shè)置條件及實(shí)現(xiàn)命令

    SFTP賬號(hào)是基于SSH賬號(hào)的,其擁有的權(quán)限是比較大的,今天主要教大家如何進(jìn)行SFTP用戶權(quán)限設(shè)置,感興趣的你可不要錯(cuò)過了哈,希望本文知識(shí)可以幫助到你
    2013-02-02
  • linux中 關(guān)于screen 的命令詳解

    linux中 關(guān)于screen 的命令詳解

    本篇文章小編為大家介紹,linux中 關(guān)于screen 的命令詳解。需要的朋友參考下
    2013-04-04

最新評(píng)論