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