Vi/Vim查找替換使用方法

vi/vim 中可以使用 :s 命令來替換字符串峦树。該命令有很多種不同細(xì)節(jié)使用方法扰她,可以實(shí)現(xiàn)復(fù)雜的功能芽突,記錄幾種在此,方便以后查詢队他。

: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

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

:s#vivian/#sky/# 替換當(dāng)前行第一個(gè) vivian/ 為 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/

1.:s/vivian/sky/ 替換當(dāng)前行第一個(gè) vivian 為 sky

:s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky

2. :n磕谅,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個(gè) vivian 為 sky

:n私爷,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky

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

3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替換每一行的第一個(gè) vivian 為 sky

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

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

:s#vivian/#sky/# 替換當(dāng)前行第一個(gè) vivian/ 為 sky/

5. 刪除文本中的^M

問題描述:對(duì)于換行,window下用回車換行(0A0D)來表示放刨,linux下是回車(0A)來表示工秩。這樣,將window上的文件拷到unix上用時(shí)进统,總會(huì)有個(gè)^M.請(qǐng)寫個(gè)用在unix下的過濾windows文件的換行符(0D)的shell或c程序助币。

。 使用命令:cat filename1 | tr -d “^V^M” > newfile螟碎;

眉菱。 使用命令:sed -e “s/^V^M//” filename > outputfilename.需要注意的是在1、2兩種方法中掉分,^V和^M指的是Ctrl+V和Ctrl+M.你必須要手工進(jìn)行輸入俭缓,而不是粘貼。

酥郭。 在vi中處理:首先使用vi打開文件华坦,然后按ESC鍵,接著輸入命令:%s/^V^M//.

不从。 :%s/^M$//g

如果上述方法無用惜姐,則正確的解決辦法是: [Page]

。 tr -d \"\\r\" < src >dest

椿息。 tr -d \"\\015\" dest

歹袁。 strings A>B

6. 替換確認(rèn)

我們有很多時(shí)候會(huì)需要某個(gè)字符(串)在文章中某些位置出現(xiàn)時(shí)被替換,而其它位置不被替換的有選擇的操作寝优,這就需要用戶來進(jìn)行確認(rèn)宇攻,vi的查找替換同樣支持

例如

:s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky

在命令后面加上一個(gè)字母c就可以實(shí)現(xiàn),即:s/vivian/sky/gc

顧名思意倡勇,c是confirm的縮寫

7. 其它

利用 :s 命令可以實(shí)現(xiàn)字符串的替換。具體的用法包括:

:s/str1/str2/ 用字符串 str2 替換行中首次出現(xiàn)的字符串 str1

:s/str1/str2/g 用字符串 str2 替換行中所有出現(xiàn)的字符串 str1

:。妻熊,$ s/str1/str2/g 用字符串 str2 替換正文當(dāng)前行到末尾所有出現(xiàn)的字符串 str1

:1夸浅,$ s/str1/str2/g 用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1

:g/str1/s//str2/g 功能同上

從上述替換命令可以看到:g 放在命令末尾,表示對(duì)搜索字符串的每次出現(xiàn)進(jìn)行替換扔役;不加 g帆喇,表示只對(duì)搜索

字符串的首次出現(xiàn)進(jìn)行替換;g 放在命令開頭亿胸,表示對(duì)正文中所有包含搜索字符串的行進(jìn)行替換操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坯钦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侈玄,更是在濱河造成了極大的恐慌婉刀,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件序仙,死亡現(xiàn)場(chǎng)離奇詭異突颊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)潘悼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門律秃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人治唤,你說我怎么就攤上這事棒动。” “怎么了宾添?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵船惨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我辞槐,道長(zhǎng)掷漱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任榄檬,我火速辦了婚禮卜范,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鹿榜。我一直安慰自己海雪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布舱殿。 她就那樣靜靜地躺著奥裸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沪袭。 梳的紋絲不亂的頭發(fā)上湾宙,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼侠鳄。 笑死埠啃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伟恶。 我是一名探鬼主播碴开,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼博秫!你這毒婦竟也來了潦牛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤挡育,失蹤者是張志新(化名)和其女友劉穎巴碗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體静盅,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡良价,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒿叠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片明垢。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖市咽,靈堂內(nèi)的尸體忽然破棺而出痊银,到底是詐尸還是另有隱情,我是刑警寧澤施绎,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布溯革,位于F島的核電站,受9級(jí)特大地震影響谷醉,放射性物質(zhì)發(fā)生泄漏致稀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一俱尼、第九天 我趴在偏房一處隱蔽的房頂上張望抖单。 院中可真熱鬧,春花似錦遇八、人聲如沸矛绘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)货矮。三九已至,卻和暖如春斯够,著一層夾襖步出監(jiān)牢的瞬間囚玫,已是汗流浹背喧锦。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劫灶,地道東北人裸违。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像本昏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枪汪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 解壓縮文章轉(zhuǎn)自Linux下的tar壓縮解壓縮命令詳解 tar-c: 建立壓縮檔案-x:解壓-t:查看內(nèi)容-r:向壓...
    Bottle丶Fish閱讀 324評(píng)論 0 0
  • VIM的幾種模式 1.編輯模式(主模式) 在終端中輸入:vim [filePath] 就會(huì)就會(huì)進(jìn)入編輯模式涌穆,也就是...
    hanl001閱讀 414評(píng)論 1 4
  • 待整理~ 1、vim ~/.vimrc 進(jìn)入配置文件 如果不知道vimrc文件在哪雀久,可使用 :scriptname...
    spfanlost閱讀 1,718評(píng)論 0 0
  • 編輯模式 移動(dòng) h宿稀、j、k赖捌、l:上下左右移動(dòng)ctrl+f:在文件中前移一頁(yè)(相當(dāng)于 page down)ctrl+...
    kjbryantdrew閱讀 462評(píng)論 0 0
  • 第1章 第一個(gè)C程序第2章 C語(yǔ)言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計(jì)第5章 條件結(jié)構(gòu)程序設(shè)計(jì)第6章...
    小獅子365閱讀 10,652評(píng)論 3 71