【发布时间】:2019-06-06 19:57:04
【问题描述】:
$data = Select-String -Path $selectedDirectory\$sqlFile -Pattern "GRANT" -Context 5,5
我想使用 PowerShell 读取 .SQL 文件,并且我们希望确保用户在没有人工检查文件以查看文件是否正常的情况下使用 GRANT、DROP 或 DELETE。
我的 1 行仅查看 GRANT,但我认为它不起作用。
如果关键字在文件中,我想在屏幕上显示部分文本 +/- 5 行发现有问题的文本。
有没有办法更改具有违规搜索条件的特定行的文本颜色(所有其他行将默认显示)
【问题讨论】:
-
对于初学者,
"GRANT"应该放在引号中以表示字符串。 -
后来我意识到了。
-
Select-String的-Pattern参数使用正则表达式。您可以使用-Pattern "GRANT|DROP|DELETE"找到所有这些关键字的出现 -
Write-Host可以使用颜色输出,但通常不推荐,因为它无法重定向。 -
我认为 OP 只担心交互输出到终端,所以重定向不是问题。