我有一个主机名列表,其中包含FQDN中的域和子域名。我需要从中获取父(root)域名。
我尝试使用子字符串,但没有成功。
abc.xyz.me.com
def.me.com
ghi.sub.new.com
jkl.sup.old.com
这些是一些示例,从列表中我想获得根域(我,新旧)。
答案 0 :(得分:1)
简单的方法是使用split并获得-2
的索引from datetime import datetime
from datetime import timedelta
import pymysql
conn = pymysql.connect()#I simplified the connecting details
print("date: {}".format(db.fetchone()[0]))
print("the type of the date: {}".format(type(db.fetchone()[0])))
print("one row : {}".format(db.fetchone()))
print("one row of the type: {}".format(type(db.fetchone())))
print("the recent time: {}".format(datetime.now()))
print("the recent time of the type: {}".format(type(datetime.now())))
你可能想要做的不仅仅是写信给主持人,但这应该会给你一个想法。
答案 1 :(得分:1)
拆分字符串,反转数组,然后拉出第二个成员
$list = @(
"abc.xyz.me.com",
"def.me.com",
"ghi.sub.new.com",
"jkl.sup.old.com"
)
$List | ForEach-Object {
[Array]::Reverse(($Arr = $_.Split(".")))
$TLD, $SLD, $Null = $Arr
$TLD # You're top level domain
$SLD # The second level domain
# The rest of the values after those two get sent to null land
}
答案 2 :(得分:1)
这是一个解决方案,它将完整父域的唯一列表放入名为$ParentDomains
的变量中:
$Domains = 'abc.xyz.me.com', 'def.me.com', 'ghi.sub.new.com', 'jkl.sup.old.com'
$ParentDomains = $Domains | ForEach-Object {
$Domain = $_.Split('.')
$Domain[-2]+'.'+$Domain[-1]
} | Get-Unique
$ParentDomains
<强>解释强>
ForEach-Object
遍历域名列表。循环中的每个域都由$_
表示。[]
获取每个数组中倒数第二个[-2]
和最后[-1]
项,并将它们输出为以“。”分隔的新字符串。Get-Unique
以删除重复项。