[英]How to know specific string exist or not in PowerShell?
我想验证 CI 中给定脚本的数据库。 我想检查给定文件中是否存在特定字符串。
以下是我的文件USE [SampleDB]
的内容
我正在读取我的文件的内容并检查文件中是否存在 [SampleDB] 字符串。
我尝试了以下内容。
If(Get-Content -path D:/Document/admin.sql | Select-String -Pattern "[SampleDB]")
{
# Right Database exist
} else {
# Right Database does not exist
}
如何在 USE 字符串后验证正确的数据库名称?
Select-String
使用正则表达式来执行字符串搜索,构造[...]
在该上下文中具有特殊含义 - 即,它表示“匹配这些字符中的任何一个”,而不是您所期望的。
要逐字搜索单词[SampleDB]
,您要么必须正确转义它:
# escape your search term!
$searchTerm = [regex]::Escape('[SampleDB]')
if(Get-Content -path D:/Document/admin.sql | Select-String -Pattern $searchTerm) {
# Right Database exist
} else {
# Right Database does not exist
}
...或者您可以请求Select-String
使用-SimpleMatch
开关执行非正则表达式匹配:
if(Get-Content -path D:/Document/admin.sql | Select-String -Pattern "[SampleDB]" -SimpleMatch) {
# Right Database exist
} else {
# Right Database does not exist
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.