#powershell
Вопрос:
Я пытаюсь найти способ, используя Select-String и поиск точного совпадения в файле, и получить все строки, содержащие это точное совпадение, в точной колонке. Пример фрагмента из файла данных:
08/25/2021 11:56:03 muzi.puzi 123 Bla
08/25/2021 19:56:03 bla.bla 1234 Bla
08/25/2021 19:56:03 abc.def 54 bla123
Function Get_User_Dates_From_DBFile ([int] $Num, [string] $Db_File){
#Rereive all the dates in DataFile BiometricNum has signed on or off
$Dates = gc $Db_File | Select-String -Pattern "^$BioMetric_Num"
Return ($Date | Sort | Get-Unique)
}
Get_User_Dates_From_DBFile 123 $Db_file
Это даст мне все три строки, я хочу убедиться, что он не поймает ничего больше (пример 1234), а также убедиться, что он не поймает 123 в конце последней строки, так как nubers ссылается только на 4-й столбец
Любой совет был бы замечательным, спасибо
Комментарии:
1. Определите: » точное совпадение «. Я предполагаю, что вы имеете в виду целое слово, связанное со словом «баундери «:
"b$numb"
2. Это именно то, что я имею в виду, спасибо!
Ответ №1:
Я не уверен, почему вы используете знак крыши перед переменной…
Но этот шаблон будет неверным 123
'08/25/2021 11:56:03 muzi.puzi 123 Bla
08/25/2021 19:56:03 bla.bla 1234 Bla
08/25/2021 19:56:03 abc.def 54 bla123' > file.txt
$BioMetric_Num = '123'
Get-Content .file.txt | Select-String -Pattern " $BioMetric_Num "
Таким образом, в вашем случае ваша текущая функция должна быть в состоянии правильно работать с использованием
Get_User_Dates_From_DBFile ' 123 ' $Db_file