【发布时间】:2018-10-04 20:59:57
【问题描述】:
我有一个如下所示的查询:
FROM TableA
INNER JOIN TableB
ON TableA.xx = TableB.xx
INNER JOIN TableC
ON TableA.yy = TableC.yy
我正在尝试编写一个脚本来选择单词“JOIN”之后的表。
我现在写的脚本是:
$data = Get-Content -Path query1.txt
$dataconv = "$data".ToLower() -replace '\s+', ' '
$join = 0
$overigetabellen = ($dataconv) | foreach {
if ($_ -match "join (.*)") {
$join++
$join = $matches[1].Split(" ")[0]
#Write-Host "Table(s) on which is joined:" $join"."
$join
}
}
$overigetabellen
这只给了我第一个表,所以是 TableB。 谁能帮助我如何将第二张表也作为输出?
【问题讨论】:
-
您在寻找
(Get-Content -Path query1.txt | Where-Object {$_ -match 'JOIN'}) -replace '^.*JOIN\s(.*)$','$1'吗?
标签: powershell loops foreach split match