vi編輯字符串替換及sed用法


1、vi編輯替換文件中的字符串

:s/nice/good/ 替換當前行第一個 nice為 good

:s/nice/good/g 替換當前行所有 nice 為 good

:n,$s/nice/good/ 替換第 n 行開始到最后一行中每一行的第一個 nice 為 good

:n,$s/nice/good/g 替換第 n 行開始到最后一行中每一行所有 nice 為 good

n 為數字,若 n 為 .,表示從當前行開始到最后一行

:%s/nice/good/(等同於 :g/nice/s//good/) 替換每一行的第一個 nice 為 good

:%s/nice/good/g(等同於 :g/nice/s//good/g) 替換每一行中所有 nice 為 good

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#nice/#good/# 替換當前行第一個 nice/ 為 good/

:%s#/usr/bin#/bin#g

把文件中所有路徑/usr/bin換成/bin

2、sed -i批量替換文件中的字符串

格式: sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑`
      sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
    例如:替換/home/ock下所有文件中的nice為book
    sed -i "s/nice/book/g" `grep nice -rl /home`
    exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`

    將文件1.txt內的文字“garden”替換成“mirGarden”
    sed -i "s/garden/mirGarden/g" 1.txt
    將當前目錄下的所有文件內的“garden”替換成“mirGarden” 
        sed -i "s/garden/mirGarden/g" 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM