gpt4 book ai didi

python - getent 主机采用前 3 位数字+主机名 unix

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:45 25 4
gpt4 key购买 nike

我需要 IP 地址的前 3 个八位字节和 myhosts 名称,而我尝试通过 cut 命令进行但无法加入主机名

$ getent hosts myhosts
172.10.2.32 myhosts.lab.com

任何带有 awk、sed、cut、python 的东西都可以

$ getent hosts myhosts | cut -d "." -f1,2,3
172.10.2

输出应该是:

172.10.2  myhosts.lab.com

最佳答案

在第一个字段中,删除最后一个点中的所有内容:

$ awk '{sub(/\.[^.]*$/,"",$1); print $1, $2}' <<< "172.10.2.32    myhosts.lab.com"
172.10.2 myhosts.lab.com

我们有两个字段:IP 和主机名。主机名将不做任何更改地返回,而对于 IP,我们希望删除最后一个 block 。

要调整第一个字段$1,我们使用 sub() 。这使用语法 sub(regexp, replacement [, target]) 执行替换。要删除最后一个点中的所有内容,我们将其替换为空字符串。

我们如何匹配最后一个点中的所有内容?使用 /\.[^.]*$/,这意味着:匹配一个点,然后匹配除点之外的任何类型的字符,直到字段末尾。

关于python - getent 主机采用前 3 位数字+主机名 unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38889291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com