目前我的/ etc/hosts文件缺少短主機名(最後一列)是否有一種方法可以將文件中的FQDN值刪除.pdp。 wdf.ltd'並將主機名添加到最後一列。 爲了達到到這裏我的確寫了一個小的Python腳本,它寫了一個文件,但無法繼續獲得短主機添加使用python將短主機名添加到/ etc/hosts文件中
#!/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
SO不是一個代碼編寫服務,你必須發佈你已經寫過這個問題,並要求一個具體的問題。 –
我沒有編寫代碼以達到第一個輸出,之後卡住了,現在會發布代碼 然後重定向了/ etc/hosts文件,但無法繼續執行 – Deepak
@Deepak:將代碼添加到_question_ ,而不是評論。 – mhawke