Powershell 在文本文件中添加和更新条目

Powershell 在文本文件中添加和更新条目,powershell,Powershell,我正在寻找有关PowerShell脚本的帮助。我有一个名为tnsnames.ora的文件,如果不存在,我需要在其中更新/添加条目 例如,如果存在tcpnew1,则应更新其相应的项;否则,如果不存在tcpnew1,则应添加整个新项。这些条目可以采用如下所示的格式,也可以是单行。因此,代码应该相应地小心 tcpnew1 = (description = (source_route=yes) (address=(protocol=tcp)(por

我正在寻找有关PowerShell脚本的帮助。我有一个名为tnsnames.ora的文件,如果不存在,我需要在其中更新/添加条目

例如,如果存在tcpnew1,则应更新其相应的项;否则,如果不存在tcpnew1,则应添加整个新项。这些条目可以采用如下所示的格式,也可以是单行。因此,代码应该相应地小心

tcpnew1 = (description =
              (source_route=yes)
              (address=(protocol=tcp)(port=1610)(host=spcstn))
              (address=(protocol=tcp)(port=1580)(host=spcstn)))
              (connect_data=(service=sales1))
          )

tcpnew2 = (description =
              (source_route=yes)
              (address=(protocol=tcp)(port=1610)(host=spcstn))
              (address=(protocol=tcp)(port=1580)(host=spcstn)))
              (connect_data=(service=sales1))
          )

tcpnew = (description = (source_route=yes)(address=(protocol=tcp)(port=1610)(host=spcstn)) (address=(protocol=tcp)(port=1580)(host=spcstn)))              (connect_data=(service=sales1))
          )
我正在尝试这种方法,但没有用。请您建议如何使其动态和更准确的代码

$str="tcpnew1 = (description =
                  (source_route=yes)
                  (address=(protocol=tcp)(port=1610)(host=spcstn))
                  (address=(protocol=tcp)(port=1580)(host=spcstn)))
                  (connect_data=(service=sales1))
              )"


#$s = "Mailbox:9WJKDFH-FS349-1DSDS-OIFODJFDO-7F21-FC1BF02EFE26 (O'Hicks, Jeffery(X.))"
#PowerShell

#[regex]$rx = "Mailbox\:(?<guid>\S+)\s\((?<lastname>\S+),\s(?<firstname>\S+)\((?<initial>\w{1})"
[regex]$rx="(?<first1>\w+\S+ =)\s(?<sec>\(\w+\S+ =\s+\(\w+=\w+\))"  
$rx.Match($str)

$rx.GetGroupNames()
#$m.Groups["third"]
$str=“tcpnew1=(说明=
(来源\路线=是)
(地址=(协议=tcp)(端口=1610)(主机=spcstn))
(地址=(协议=tcp)(端口=1580)(主机=spcstn)))
(连接数据=(服务=销售1))
)"
#$s=“邮箱:9WJKDFH-FS349-1DSDS-OIFODJFDO-7F21-FC1BF02EFE26(杰弗里(X.)奥希克斯)
#动力壳
#[regex]$rx=“邮箱\:(?\S+)\S\((?\S+)\S(?\S+)\(?\w{1})”
[regex]$rx=“(?\w+\S+=)\S(?\(\w+\S+=\S+\(\w+=\w+\)”
$rx.Match($str)
$rx.GetGroupNames()
#$m.团体[“第三”]

不清楚您要的是什么。请阅读本文“我有一个文件”,其中包含我必须与上述tnsnames.ora文件进行比较的条目,如果有任何不同之处,请将这些条目添加到tnsnames.ora文件中。