gpt4 book ai didi

python - 用python将short-hostname添加到/etc/hosts文件中

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

目前我的/etc/hosts 文件缺少短主机名(最后一列),有没有办法获取文件中的 FQDN 值删除“.pdp.wdf.ltd”并将主机名添加到最后一列。为了到达这里,我确实编写了一个小的 python 脚本将其写入文件,但无法继续添加短主机名

#!/usr/bin/env python
import re,subprocess,os,socket
a=subprocess.Popen('ifconfig -a', stdout=subprocess.PIPE, shell=True)
_a, err= a.communicate()
_ou=dict(re.findall(r'^(\S+).*?inet addr:(\S+)', _a, re.S | re.M))
_ou=_ou.values()
_ou.remove('127.0.0.1')

y=[]
for i in _ou:
_z = '{0} ' .format (i), socket.getfqdn(i)
y.append(_z)

_y=dict(y)
_z=(' \n'.join('{0} \t {1}'.format(key, val)for (key,val) in _y.iteritems()))

猫/etc/hosts

#IP-Address      Full-Qualified-Hostname        Short-Hostname
10.68.80.28 dewdfgld00035.pdp.wdf.ltd
10.68.80.45 lddbrdb.pdp.wdf.ltd
10.68.80.46 ldcirdb.pdp.wdf.ltd
10.72.176.28 dewdfgfd00035b.pdp.wdf.ltd

/etc/hosts 文件中所需的输出

##IP-Address      Full-Qualified-Hostname       Short-Hostname
10.68.80.28 dewdfgld00035.pdp.wdf.ltd dewdfgld00035
10.68.80.45 lddbrdb.pdp.wdf.ltd lddbrdb
10.68.80.46 ldcirdb.pdp.wdf.ltd ldcirbd
10.72.176.28 dewdfgfd00035b.pdp.wdf.ltd dewdfgfd00035b

最佳答案

您可以使用以下内容进行匹配(使用 global 和 multiline 标志):

(^[^\s#]+\s+([^.\n]+).*)

并替换为以下内容:

\1\2

参见RegEX DEMO

关于python - 用python将short-hostname添加到/etc/hosts文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669430/

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