从预定义servernames节点的名单,我在寻找的配置文件,并试图组为每个服务器都在那里它找到的文件时,显示一个哈希表。文件名可以映射到应用程序。
问题
分组部是给我的问题。它不断返回一个散列表,我只是想要返回文件名。
SSCCE注:分组是在SSCCE文件名,但问题的要点是一样的
这个例子是表示在找到匹配的,而不是仅仅是比赛的整条生产线
@("A test", "Another test") | sls -pattern "\btest\b" | group filename | select name, group
为了适应这种情况,我添加了一个计算属性来仅获得匹配。不幸的是,这显示了该组作为一个Hashlist。
@("A test", "Another test") | sls -pattern "\btest\b" | select filename, @{n="Server";e={$_.matches[0].Value}} | group filename | select name, group
TLDR;以下就是我目前使用
@(
"server1"
, "server2"
) |
% {sls -path "C:\PrivateWS\sources\confdoc\applicaties\*.yml" -Pattern "\b$($_)\b"} |
select Filename, @{n="Server";e={$_.matches[0].Value}} |
group server | select name, group
,这将返回这样的事情
Name Group
---- -----
server1 {@{Filename=applicationX.yml; Server=server1}, @{Filename=applicationY.yml; Server=server1}}
server2 {@{Filename=applicationX.yml; Server=server2}}
,我想有它返回此
Name Group
---- -----
server1 {applicationX.yml, applicationY.yml}
server2 {applicationX.yml}
谢谢,我已经添加了'-Unique'的选择和它做正是我需要的。 –
没问题。很高兴帮助。 – TechSpud