首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找和awk获取第二个地址

问查找和awk获取第二个地址
EN

Stack Overflow用户
提问于 2020-08-03 21:55:54
回答 2查看 287关注 0票数 1

我正试图从我的nslookup的下面结果中得到地址

这里我想知道第二个地址是10.0.45.45

代码语言:javascript
复制
Server:         10.152.183.10
Address:        10.152.183.10#53

Name:   pg-master-0.pg-master-headless.postgres.svc.cluster.local
Address: 10.1.45.45

这是我的密码

代码语言:javascript
复制
MASTER_HOST=$(nslookup pg-master-0.pg-master-headlesss | awk '/^Address:/ {A=$2}; END {print A}');

echo $MASTER_HOST

不幸的是,我的输出是:

代码语言:javascript
复制
10.152.183.10#53

在这里,我登录到吊舱里

然后往那边跑去查。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-03 22:16:36

如果要从nslookup输出中获得第二个"Address:“,只需执行以下操作:

代码语言:javascript
复制
awk '/^Address/{n++; if (n==2){print $2; exit}}'

它检查行是否以Address开头,然后递增计数器n++,当n == 2输出第二个字段并退出。

示例使用/输出

使用名为nslookup.txt的文件中的数据,您将收到以下信息:

代码语言:javascript
复制
$ awk '/^Address/{n++; if (n==2){print $2; exit}}' nslookup.txt
10.1.45.45

当然,使用nslookup,您只需将输出输送到awk。例如,如果我想在本地子网上使用机器valkyrie的IP,可以使用:

代码语言:javascript
复制
$ nslookup valkyrie | awk '/^Address/{n++; if (n==2){print $2; exit}}'
192.168.6.135

仔细考虑一下,如果你还有其他问题,请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2020-08-03 22:24:20

看来nslookup无法解决pg-master-0.pg-master-headlesss问题。您可能在不同的吊舱或您的个人服务器/机器上运行该操作,而这些服务器/机器不知道集群中运行的服务。(您的笔记本电脑在CoreDNS集群中不使用K8s )

为了安全起见,您可以尝试从集群中的pod运行脚本,并使用完整的FQDN:

代码语言:javascript
复制
$ kubectl run -i --tty --rm debug --image=ubuntu --restart=Never -- bash
#
# apt update; apt -y install dnsutils # Installs dnslookup ...
# export MASTER_HOST=$(nslookup pg-master-0.pg-master-headless.postgres.svc.cluster.local | awk '/^Address:/ {A=$2}; END {print A}'); echo $MASTER_HOST"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63237467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档