sed 字串取代

和使用vi編輯器的方法類似。

1.將檔案 filename.txt 內的所有 abc 取代為 xyz
sed -i ‘s/abc/xyz/g’ filename.txt

2.將 name: 後面的所有字串取代成 name: Duke
sed -i 's/name:.*/name: Duke/g' filename.txt

搜尋的字串如果內含空白的話,則空白前要加反斜線 \

3.當前目錄下所有的txt副檔名, oldtext取代成newtext
sed -i 's/oldtext/newtext/g' *.txt

4.取代有含空白的字串,abc d取代成a bcd
sed -i 's/abc\ d/a\ bcd/g'

5.將所有在行首的http字串替換成https
sed -i 's/^http/https/g'

將所有 “com.後面接任意字元任意長度” 的字串替換成 edu
sed -i 's/com.*/edu/g'

grep 指令搜尋內容符合的檔案 pipe 給 sed 取代文字。

1.將所有檔案裡的 http 全部取代成 https
grep -r "http" * -l | xargs sed -i 's/http/https/g'