Author Posts

May 28, 2017 at 2:28 am

I have read a number of posts on removing blank lines from output but just can't get it to work. I have a file and I want to count the matches in the file. For example, I have "foo" in my file "logfile".

 Select-string -path "c:\cygwin64\tmp\logfile" -pattern "foo"  | Measure-object -line | ft -hidetableheaders

   3

I have tried things like...

Select-string -path "c:\cygwin64\tmp\logfile" -pattern "foo"  | Measure-object -line | ft -hidetableheaders | where {$_ -ne " "}

Here, if I save the output to a file I get closer to the results I want..


PS C:\Program Files\Wireshark> Select-string -path "c:\cygwin64\tmp\logfile" -pattern "foo"  | Measure-object -line | ft -hidetableheaders > x.x; cat x.x | where {$_ -ne ""}
    3

Any suggestions?

May 28, 2017 at 9:06 am

get rid of ft, use select-object
format-table – for displaying to host, it should be last element of pipeline

May 28, 2017 at 10:25 am

(Select-string -path "c:\cygwin64\tmp\logfile" -pattern "foo"  | Measure-object -line).Lines

May 29, 2017 at 8:30 am

(Get-Content "c:\cygwin64\tmp\logfile"  | where {$_ -like "*foo*"}).count