一)通過vi編輯器來替換。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)威海免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
vi/vim 中可以使用 :s 命令來替換字符串。
:s/well/good/ 替換當前行第一個 well 為 good
:s/well/good/g 替換當前行所有 well 為 good
:n,$s/well/good/ 替換第 n 行開始到最后一行中每一行的第一個 well 為 good
:n,$s/well/good/g 替換第 n 行開始到最后一行中每一行所有 well 為 good
n 為數(shù)字,若 n 為 .,表示從當前行開始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替換每一行的第一個 well 為 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替換每一行中所有 well 為 good
可以使用 # 作為分隔符,此時中間出現(xiàn)的 / 不會作為分隔符
:s#well/#good/# 替換當前行第一個 well/ 為 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin
(二)直接替換文件中的字符串。(此法不用打開文件即可替換字符串,而且可以批量替換多個文件。)
1.perl命令替換,參數(shù)含義如下:
-a??? 自動分隔模式,用空格分隔$_并保存到@F中。相當于@F = split ”。分隔符可以使用-F參數(shù)指定
-F??? 指定-a的分隔符,可以使用正則表達式
-e??? 執(zhí)行指定的腳本。
-i擴展名?? 原地替換文件,并將舊文件用指定的擴展名備份。不指定擴展名則不備份。
-l??? 對輸入內(nèi)容自動chomp,對輸出內(nèi)容自動添加換行
-n??? 自動循環(huán),相當于 while() { 腳本; }
-p??? 自動循環(huán)+自動輸出,相當于 while() { 腳本; print; }
用法示例:
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
將所有C程序中的foo替換成bar,舊文件備份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前文件夾下lishan.txt和lishan.txt.bak中的“shan”都替換為“hua”
perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2
將每個文件中出現(xiàn)的數(shù)值都加一
2.sed命令下批量替換文件內(nèi)容?
格式: sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
s表示替換,d表示刪除
示例:sed -i "s/shan/hua/g"? lishan.txt
把當前目錄下lishan.txt里的shan都替換為hua? ? ? ?各個Linux詳細命令介紹及應(yīng)用可如下進行查找
":%s/\r/,/g" 是一個 Vim 的命令,表示將當前文件中的所有回車符("\r")替換為逗號(",")。
具體來說,這個命令由三部分組成:
":":表示輸入命令模式。
"%s":表示對當前文件中的所有行進行替換操作。
"/\r/,/g":表示將文件中的所有回車符替換為逗號。
執(zhí)行這個命令后,Vim 會在當前文件中執(zhí)行批量替換操作,將所有回車符替換為逗號。
注意:這個命令只適用于 Vim 編輯器,其他編輯器可能不支持。
1)單字符替換:在命令模式下使光標位于要替換的字符,按r,再按需要的字符;
2)取代字符串:在命令模式下
$s/string/replae/g
會將全文的string字符串取代為replace字符串,其中1,$s就是指搜尋區(qū)間為文章從頭至尾的意思,g則是表示全部取代不必確認。
%s/string/replace/c:同樣會將全文的string字符串取代為replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c則是表示要替代之前必須再次確認是否取代。
1,20s/string/replace/g:將1至20行間的string替代為relpace字符串。
是指定內(nèi)容嗎?可以用vi打開這個文件,如果想將內(nèi)容a替換為b,可以輸入:%s/a/b/g