sed 進行檔案搜尋並取代

檔案內的字串進行搜尋及取代很多時都會用到, 在 Linux 下有很多方法實現, 而 sed 進行字串的搜索並取代十分方便, 因為 sed 是內建的指令, 也支援 regex, 即使放在 Shell Script 也可以。以下列出一些 sed 取代字串的常用例子:

將檔案 filename.txt 內的 abc 取代為 “xyz”:

/linux/sed-search-replace/

  • $ sed -i ‘s/abc/xyz/g’ filename.txt

如果搜尋或取代的字串有包括空格,需要在空格前加上 “\”,例如:

/linux/sed-search-replace/


  • $ sed -i ‘s/abc/\ /g’ filename.txt

上面指令會將全部 abc 字串,用空格取代。

如果要對目錄下所有檔案做字串取代, 用 “*” 符號取代檔案名稱便可以:

/linux/sed-search-replace/

  • $ sed -i ‘s/abc/xyz/g’ *

只對目錄下所有 .txt 副檔案的檔案進行字串取代:

/linux/sed-search-replace/

  • $ sed -i ‘s/abc/xyz/g’ *.txt


你可能感興趣的內容:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.