将txt中的空行转换为CSV中的空行

时间:2018-02-13 10:02:57

标签: powershell csv

我有一个包含空行的txt文件。当我想转换为csv文件时,我需要将这些空白行转换为CSV中的空白行。这意味着只要它看到空行,它就应该转换为CSV中的黑色行。

我的原创剧本是:

Select-String -Path $TXTFile  -Pattern 'CN=(.*?),' -AllMatches |
  Select-Object -Expand Matches |
  ForEach-Object { $_.Groups[1].Value } | 
  select @{L="UserID"; E={$_}} |
  Export-CSV $CSVFile -noTypeInformation

我尝试但不起作用并且错了:

Select-String -Path $TXTFile  -Pattern 'CN=(.*?),' -AllMatches |
  Select-Object -Expand Matches |
  ForEach-Object { $_.Groups[1].Value } | 
  select @{L="UserID"; E={$_}} |
  if (Get-Content $TXTFile | where {$_ = " "} ){ "`n" }
  $_ -replace '`t'
  Export-CSV $CSVFile1 -noTypeInformation

1 个答案:

答案 0 :(得分:4)

您的Select-String模式仅匹配非空行。在第一个示例中将其更改为:

Select-String -Path $TXTFile  -Pattern '^.*(?:CN=(.*?),.*)|\s*$' -AllMatches |...

为了匹配包含CN=或仅包含零个或多个空格字符的行