Я ищу способ (если возможно) найти любые хиты в любом столбце, содержащие «;» символ с запятой и вернуть имя столбца/поля.Поиск Powershell в колонке & имя столбца возврата
В основном я загружаю текстовый файл с разделителями DAT (или csv). Заголовки будут отличаться каждый раз, но я в основном пытаюсь выяснить, буду ли я ожидать, что любой из столбцов будет содержать значения с несколькими разделителями внутри столбца, такие как электронная почта CC или BCC.
Я использую форму с текстовым полем для ввода DAT/CSV.
$form.Topmost = $True
$form.Add_Shown({$textBox.Select()})
$result = $form.ShowDialog()
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
$x = $textBox.Text
$x
}
Вот мой код для выходного файла:
Get-Content $x |
foreach {$_ -replace "þ", '"'} |
ConvertFrom-Csv -Delimiter "" |
Out-GridView
я смог найти хит на всей CSV с помощью:
$FileContent = Get-Content $x
$Matches = Select-String -InputObject $FileContent -Pattern ';' -AllMatches
$Matches.Matches.Count
выше часть делает давая мне общее число «;» хиты. Но я предпочел бы видеть, какие столбцы попали, мне не нужен общий счет, просто имя заголовка или номер столбца.
Я использую powershell ISE v5.
'ipcsv $ x | % {$ _. PSObject.Properties} | ? Value -match ';' | % Name' – PetSerAl