[精讚] [會員登入]
25821

[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

你可能感興趣的文章

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

[CSH/TCSH] 使用tcsh SHELL #1 --變數、控制和迴圈 在FREEBSD或LINUX中使用TCSH SHELL,進行一些基本的指令操作。

時間和時區CST UTC GMT的說明及設定 時間和時區CST DST UTC GMT的說明設定,及php時間的設置

安裝git centos/freebsd/windows安裝git

利用tr如何移除檔案中的 ^M 利用tr如何移除檔案中的換行 ^M

[find] 活用 find 指令參數-exec 執行找到的結果 在linux/ freebsd 中查找檔案最強的就是 find,他有一個參數相當好用:-exec

隨機好文

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

[JAVA] JWS, JWT, JWE, JOSE是什麼? [JAVA] JWS, JWT, JWE, JOSE是什麼?非常的複雜,儘量來搞清楚..

NETCRAFT發現你的網站及作業系統 NETCRAFT可以發現你的網站及作業系統

精讚的版面變化 ▓此文僅作為舊文的記錄▓ 這篇文章為了紀念改版完成而撰寫。 原本的部落格是民國97年的作品,那時還是用舊有的技術來寫,很

問問題 問問題其實內涵很深,我悟了很久才懂。 有人問題的目的並不一定是想要得到答案,有時只是純粹想問問題..