那麻煩問下,下面的這個server地址如果做成可以根據變量自動變動的需要用awk怎么做呢,sed我知道可以替換。文件里有這么一段
upstream nat {
server 172.20.128.240:80;
}
比如我的環(huán)境變量設置為
server="172.20.128.240:80,172.20.128.241:80,172.20.128.242:80"
怎么可以替換成下面這個樣子呢
upstream nat {
server 172.20.128.240:80;
server 172.20.128.241:80;
server 172.20.128.242:80;
}
強,我用python寫了那么多行,你竟然一條命令就解決了,也太厲害了吧。import os,sys
server = os.getenv('server')
f = open('a','r+')
s = f.readlines()
ss = ''
for i in server.split(','):
ss = ss + "\tserver " + i + ";\n"
s[1] = ss
f=open('a','w+')
f.writelines(s)
f.close()
我執(zhí)行的結果是這樣的哦awk 'BEGIN{split(ENVIRON["server"],ser,",")}/server/{for(i in ser){print "server "ser";"};next}1' a
upstream nat {
server 172.20.128.240:80;
server 172.20.128.241:80;
server 172.20.128.242:80;
}
server 172.20.128.240:80;
server 172.20.128.241:80;
server 172.20.128.242:80;
listen 80 default;
server 172.20.128.240:80;
server 172.20.128.241:80;
server 172.20.128.242:80;