使用 sed 做字串取代時,若同一行中有二個以上同樣的字串時,通常只有第一個字串會被處理。
例如:
檔案 Xfile 有一行如下
Xin1 Xin1 Xin1
取代指令如下
sed -e 's/Xin1/Allin1/' -i Xfile
則結果會是
Allin1 Xin1 Xin1
這是因為 sed 是行編輯器,而一列只處理一次。
若要全部都取代,則取代指令要加上 g(global)
sed -e 's/Xin1/Allin1/g' -i Xfile
參考資料:
1. http://libai.math.ncu.edu.tw/bcc16/6/vi/vi09.html
2. http://irw.ncit.edu.tw/peterju/tips.html
沒有留言:
張貼留言