[精讚] [會員登入]
25475

[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

你可能感興趣的文章

[SSH] 限制登入的帳號或群組 SSH常會遭到駭客的掃描和暴力法破解密碼,就算密碼夠強,我還是希望駭客一點機會也沒有,所以要限制可以登入的使用者和來源

[Linux] ls --color 的檔案特徵及顏色意義 ls --color 時看到的檔案特徵及顏色意義及和檔案權限有關的指令

使用sdiff來比對檔案 linux 有一個不錯的工具可以來比對文字檔案,很有效率,叫sdiff

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

[CSH/TCSH] 使用tcsh SHELL #2 --檢查、傳值 6. 檔案或目錄的檢查 SHELL 中常會用到檔案或目錄的檢查,一般性的語法是: if [ Operator

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

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

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

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