首页 > 技术文章 > sed的一些应用

regit 2019-08-06 10:26 原文

 

1. sed 使用变量进行替换,注意使用参数 r 时,需要放在参数 i 的前面

下面这个例子是用2.txt中的版本号替换docker-compose.yml中的版本号,其中变量UPGRADE_NAME在两个文件中都有且一样

for line in `cat 2.txt`
do 
UPGRADE_NAME=$(echo $line | awk -F ":" '{print $1}')
UPGRADE_VERSION=$(echo $line | awk -F ":" '{print $2}') 
sed -ri "s#(.*)${UPGRADE_NAME}:(.*)#\1${UPGRADE_NAME}:${UPGRADE_VERSION}#g" docker-compose.yml
done

2.txt中的内容格式:registry.inhand.local/elements/ngrok:v1.0.0

docker-compose.yml中的内容格式:“多个空格” image: registry.inhand.local/elements/elms-core:v1.0.0

 

 

推荐阅读