sed命令替換文件內容示例(在CentOS中)


通過sed命令和正則表達式,我們可以方便的完成內容替換。

這里我們以要把內容:

image: registry/mes-service:0

結尾處的0 替換為 99

image: registry/mes-service:99

為例進行展示。

 

以下是幾個簡單的替換示例

1、替換echo命令中的內容

echo image: registry/mes-service:.*|sed 's/mes-service:.*/mes-service:99/g'

 

2、替換cat的文件顯示結果

cat green-service.yml|sed 's/mes-service:.*/mes-service:99/g'

 

3、把sed命令放進shell腳本中,通過參數改變替換內容,並將替換結果寫入文件

新建shell(文件名 changeversion),內容如下:

sed -i "s/mes-service:.*/mes-service:$1/g" service.yml
cat service.yml

其中service.yml中,保存有我們文章開頭的那個目標字符串“image: registry/mes-service:0”

注意sed -i 后邊的字符串通過雙引號包了起來,而非單引號,這樣里面的 $1才能生效,從我們的命令中獲取

-i 可以將替換結果寫入文件,真正的修改文件內容

給shell增加執行權限(chmod +x)后,執行

./changeversion 99

可以看到service.yml中的“image: registry/mes-service:0”被替換成了““image: registry/mes-service:99”

 


免責聲明!

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



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