26411

[Linux] 進行字串取代,三種字串取代的方法

“
使用vi、sed、perl來取代字串
„

分享此文連結 //n.sfs.tw/11447

分享連結 [Linux] 進行字串取代,三種字串取代的方法@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 12:25:20 最後編修
2017-07-17 12:54:51 By 張○○
 

自動目錄

在linux/ freebsd 下,要將字串取代,可以開啟 vim 用以下的指令:

使用vi

搜尋並取代:
從第n列搜尋到第m列,將str1字串用str2字串取代;option是選項,有兩個參數: g全部取代 c確認再取代
:n,ms/str1/str2/option

範例

檔頭到檔尾用str2取代str1

:1,$s/str1/str2/g 
:%s/str1/str2/g

第10到第20行用str2取代str1

:10,20s/str1/str2/g

但是針對大量的檔案,或是比較複雜的 regex,用這個方法就絕對不好,所以在 console 下,我們有另一個選擇:

使用 sed

$ sed -e 's/要取代的文字/取代文字/' -i file

使用perl:

$ perl -pi -e 's/要取代的文字/取代文字/' file

延伸閱讀

[PERL]] find 和 perl 的結合--大量檔案中文字的取代@新精讚

[MYSQL] 字串取代@精讚


原文  2009-11-13 14:10:56

END

你可能感興趣的文章

[Linux] 進行字串取代,三種字串取代的方法 使用vi、sed、perl來取代字串

[SSH] 解決 SSH 登入延遲,登入時驗證很慢的問題 登入要等很久,才會跳出輸入密碼的視窗,怎麼解決?

FREEBSD、LINUX和MAC拷背目錄的差別 原本以為cp複製一個目錄,但在FREEBSD、LINUX和MAC竟有不同的表現情況

[Rsync] Freebsd10+Rsync / Centos7+Rsync Freebsd10 和 Centos7 安裝Rsync

[SIP] Kphone安裝記錄 Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,安裝的全記錄..

[bc] linux 的計算機bc 如何進行8進位、10進位、16進位等轉換 linux 的計算機bc--如何進行8進位、10進位、16進位等轉換

隨機好文

Linux shell 的date表示法 linux下SHELL中的date表示法

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式

[Wildfly10] 發佈war檔 deploy war file onto wildfly10

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個

精讚::