I’m getting a little frustrated on a little PowerShell script I’m writing.
Basically I loop through text files to check every line against an array of regular expression patterns.
The result gets piped to the out-file cmdlet which appends it to another text file.
Get-ChildItem $logdir -Recurse -Include @('*.txt') | Get-Content | ForEach-Object {
Select-String $patterns -InputObject $_ | Out-File $csvpath -Append -Width 1000 }
My problem is that I can’t get out-file to omit those additional line breaks it creates in the file behind $csvpath (three after each line).
I could use .NET framework classes to achieve the same thing but I’d rather stick to pure PowerShell
Why don’t you use
Add-Content?You don’t need to specify the width and
-appendswitch, the file size is not doubled by default (although you can specify encoding) and it seems that there is no problem with the empty lines like you have.