ドメイン名を既存の古いドメイン名に変更したいと思います。dn.txt文書
例:
domainName=` hostname | sed s'/\./ /g' | awk '{print $2}' `
echo $domainName
trump1
したがって、この場合、trump1は古いドメイン名obbamaを置き換えます。
注 - $domainName変数は何でも可能です。その他のドメイン名、このコマンドは変数の値を古いドメイン名に置き換える必要があります。dn.txt文書
はい - 前:
more dn.txt
hive-site,hive.zookeeper.quorum,master01.obbama.com:2181,master02.obbama.com:2181,master03.obbama.com:2181
site,hive.zookeeper.quorum,worker01.obbama.com:2181,worker02.obbama.com:2181,worker03.obbama.com:2181
.
.
はい - 以降 - 期待される出力
hive-site,hive.zookeeper.quorum,master01.trump1.com:2181,master02.trump1.com:2181,master03.trump1.com:2181
site,hive.zookeeper.quorum,worker01.trump1.com:2181,worker02.trump1.com:2181,worker03.trump1.com:2181
答え1
sed
方法:
domainName="trump"
sed -Ee "s/[^.]+(\.com:)/${domainName}\1/g" dn.txt
出力:
hive-site,hive.zookeeper.quorum,master01.trump.com:2181,master02.trump.com:2181,master03.trump.com:2181
site,hive.zookeeper.quorum,worker01.trump.com:2181,worker02.trump.com:2181,worker03.trump.com:2181