添加和更新文本文件中的条目

时间:2017-06-23 09:46:51

标签: powershell

我正在寻找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"]

0 个答案:

没有答案