Извлечение строки текста из CSV-файла с помощью PowerShell путем сопоставления с шаблоном в начале строки - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть файл CSV, который мне нужен для извлечения определенного шаблона, который появляется в начале строки, например:

Строка текста:

"555555","A",John"

Это работает:

Get-Content $CsvFile | Select-String '^"555555"'

Это не:

$idnum = "555555"
Get-Content $CsvFile | Select-String '^"$idnum"'

Как извлечь строку, когда строка назначена переменной?

1 Ответ

0 голосов
/ 01 марта 2019

Одиночная кавычка в powershell является буквальным.Итак, во втором случае вы явно хотите соответствовать "$ idnum" .Поскольку у вас есть двойные кавычки в ваших данных, вам нужно обойти их.

Опции Вы можете создать двойные кавычки, чтобы обойти это

Get-Content $CsvFile | Select-String "^""$idnum"""

Или вы можете отформатировать строковую замену следующим образом:

Get-Content $CsvFile | Select-String ('^"{0}"' -f $idnum)

Или вы можете обновить $ idnum, добавив в него двойные кавычки, и тогда вызов строки выбора будет намного проще читать

$idnum = '"555555"'
Get-Content $CsvFile | Select-String "^$idnum"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...