У меня будет повторный поиск строк в определенном файле в более крупном скрипте.Функция со встроенным поиском со слишком большим количеством результатов
function ConfigSearch([String] $path, [String] $pattern){
[string]$path
[string]$pattern
Get-ChildItem -path $path | Select-String -pattern $pattern
}
ConfigSearch c:\smhost SMHOST
Это пример. Выход будет
PS C:\Backup>C:\test\filesearch.ps1
c:\smhost
SMHOST
C:\smhost\smhost.conf:1:SMHOST = "D:\ca\webagent cr010\win64\config\smhost.conf"
мне ничего, но C:\smhost\smhost.conf:1:SMHOST = "D:\ca\webagent cr010\win64\config\smhost.conf"
не хочет. Или еще более предпочтительно "D:\ca\webagent cr010\win64\config\smhost.conf"
, содержание, которое я ищу.
ли вы имеете в виду добавить их как это:
function ConfigSearch([String] $path, [String] $pattern){
[string]$path
[string]$pattern
$Matches = Get-ChildItem -path $path | Select-String -pattern $pattern
$Matches | Select-Object -ExpandProperty Line
}
ConfigSearch c:\smhost SMHOST
Одна проблема решена, но выход сейчас
c:\smhost
SMHOST
SMHOST = "D:\ca\webagent cr010\win64\config\smhost.conf"
И я не хочу
c:\smhost
SMHOST
.
Какова цель первых 2-х линий вашей функции? –
Вся цель заключается в том, что я буду в течение довольно длинного сценария с большим количеством функций, которые ищут строки в разных файлах, которые должны быть там. Я хочу, чтобы функция вызывала меньше всего кода. И выводится только строка. Не две другие выходные линии, которые я получаю. – Gatewarden
Итак, поскольку первые 2 строки, по-видимому, не служат никакой реальной цели: почему бы не удалить их, поскольку они являются причиной того, что вызывает нежелательный вывод? –