我有一个包含空行的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
答案 0 :(得分:4)
您的Select-String
模式仅匹配非空行。在第一个示例中将其更改为:
Select-String -Path $TXTFile -Pattern '^.*(?:CN=(.*?),.*)|\s*$' -AllMatches |...
为了匹配包含CN=
或仅包含零个或多个空格字符的行