2016-04-11 11 views
-1
@powershell -command sls "succeeded" pol_inst.log 

gibt miraber ich will nur den Text

pol_inst.log:259: Security Gateway policy installation succeeded for: 

Ich will nicht

pol_inst.log:259: 

Und ich kann nicht scheinen, um eine einfache Antwort zu finden

+0

Was soll das "@" Ding tun? –

+0

@ Jaqueline Vanek Es ist das Echo aus Zeichen für die Eingabeaufforderung. Er ruft aus einer Batch-Datei oder aus 'cmd.exe'. –

Antwort

2
Select-String "succeeded" pol_inst.log | ForEach-Object Line 

Oder es von der Kommandozeile aufzurufen:

@powershell -command Select-String "succeeded" pol_inst.log ^| ForEach-Object Line 
1

Dies geschieht, weil Select-String Ihnen eine Sammlung von MatchInfo Objekte zurückgibt . Diese enthalten neben dem Ergebnis viele Dinge.

Einfache Lösung ist .Line Eigenschaft zu verwenden, wie so,

select-string -path c:\myFile -pattern "myPattern" | % { $_.line } 
1

die Line Eigentum der MatchInfo Objekte erweitern, die Select-String produziert:

Select-String ... | Select-Object -Expand Line 
Verwandte Themen