加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

powershell哈希表问题

发布时间:2020-12-15 08:39:09 所属栏目:Java 来源:网络整理
导读:我试图读取一个配置文件,其中包含一些键值对,如下所示: age = 7server = serverdestination = naspublicserver 这是我用来读取文件的脚本: gc "keyval.txt" | % -begin {$h=@{}} -process { $k = [regex]::split($_,'='); if(($k[0].CompareTo("")
我试图读取一个配置文件,其中包含一些键值对,如下所示:

age = 7
server = server
destination = naspublicserver

这是我用来读取文件的脚本:

gc "keyval.txt" | % -begin {$h=@{}} -process { $k = [regex]::split($_,'='); if(($k[0].CompareTo("") -ne 0) -and ($k[0].StartsWith("[") -ne $True)) { $h.Add($k[0],$k[1]) } }
$h                    #THIS PRINTS THE KEYS and VALUES
$h.get_item("server") #THIS DOESN'T DO ANYTHING
$h.server             #THIS DOESNT DO ANYTHING AS WELL

我了解到在PowerShell中有一些奇怪的哈希表,但是无法避开棘手的方法.请帮我解决这个问题.

解决方法

如果您不想修改文件:

$re = 's*(w+)s*=s*(S+)'
Get-Content tempfoo.txt | 
  Foreach {$ht=@{}} {if ($_ -match $re) {$ht.($matches[1]) = $matches[2]}} {$ht}

Name                           Value
----                           -----
age                            7
server                         server
destination                    naspublicserver

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读