在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
:%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 的結合--大量檔案中文字的取代@新精讚
原文 2009-11-13 14:10:56