关于linux输出的问题:
使用gcloud
列出我的虚拟机实例:
HOSTNAME="chef-production2-doctor-simulator01"
gcloud compute instances list |grep $HOSTNAME
chef-production2-doctor-simulator01 us-central1-b n1-standard-1 10.128.0.2 x.x.x.x RUNNING
如何grep内部ip并将其输出到bash变量?
INTERNAL_IP="$(gcloud compute instances list |grep $HOSTNAME)"
答案 0 :(得分:2)
选择列的常用工具有:cut
,sed
和awk
。当然,perl
。
awk
通常是最短的解决方案,但您必须学习它的语法。
gcloud compute instances list | \
awk '/chef-production2-doctor-simulator01/ { print $2 }'
可能就是你要找的东西。您可能需要明确分隔符。很难说出上面显示的例子中使用了哪些分隔符。
答案 1 :(得分:0)
你可以试试这个:
var INTERNAL_IP="$(gcloud compute instances list | grep chef-production2-doctor-simulator01 | tr -s " " | cut -d ' ' -f4)"
tr -s“”删除所有双空格 削减-d'' - f4会削减ip
或作为anony提到(哪个更好):
var INTERNAL_IP="$(gcloud compute instances list | awk '/chef-production2-doctor-simulator01/ { print $4 }'")