2017-10-22 11 views
0

いくつかの文字列を選択するログがあります。私はいくつかのテストnotepad.txtファイルでこれを試した:ログファイルでSelect-Stringが機能しない

gci | Select-String -Pattern "Deleting" | group path | select name 

それは完璧に正常に働いた。今私は私たちの* .logファイルに対して同じことをしたいが、何も画面に現れない。私は問題なしでメモ帳でログファイルを開くことができます。

Get-Content myLog.log 

それが返されます:

 
0 0 : 0 1 : 3 9 . 0 5 3 [ I N T E R N A L . T (3 5 4) ] > D e l e t i n g f i l e ' \ \ l e v i a t a n \ b a i x e s \ O F F S U M A R I D A 

おそらく取得・コンテンツ非常に多くのスペースを追加することができ、これらのログファイルを使用して間違っている可能性がありますか?私は、私が実行している場合ことに気づきましたかPowerShellにすべてのスペースを削除する方法はありますか?代わりがありますか?

答えて

2

ログファイルがbyte order mark(BOM)を除いてエンコードされたUTF-16のように見えます。 Select-StringGet-Contentは、BOMが別途指示しない限り、ASCII/ANSIエンコーディングにデフォルト設定されています。検出された/デフォルトのエンコードをパラメータ-Encodingでオーバーライドすることができます。

Get-ChildItem | Select-String -Pattern "Deleting" -Encoding unicode | ... 
+0

恐ろしいですね。どうもありがとう! – Okrx

関連する問題