情報からIPアドレスを取得する方法

情報からIPアドレスを取得する方法

次のAPIを使用してmaster1/2マシンの情報を取得できます。

curl -sH "X-Requested-By: ambari" -u "admin"":""admin" -i http://192.23.39.2:8080/api/v1/hosts?fields=Hosts/host_name,Hosts/ip | egrep "master1|master3"  | grep http  
      "href" : "http://192.23.39.2:8080/api/v1/hosts/master1.usa14.com",
      "href" : "http://192.23.39.2:8080/api/v1/hosts/master3.usa14.com",

master1/3のIPのみを取得するようにAPIを更新します。

curl -sH "X-Requested-By: ambari" -u "admin"":""admin" -i http://192.23.39.2:8080/api/v1/hosts?fields=Hosts/host_name,Hosts/ip | egrep "master1|master3"  | grep http | sed s'/\/\// /g' | sed s'/:/ /g' | awk '{print $3}'

192.23.39.2
192.23.39.2

しかし、私のAPIはそれほどエレガントではありません。

IPをキャプチャする方法に関する他の提案はありますか?

ベストアンサー1

awk文字列操作関数を使用すると、簡単にこれを実行できます。

awk -F'/[/]?' '$NF ~ /^(master1|master3).*/{ n=split($2,arr,":"); print arr[1] }'

おすすめ記事