2

PowerShell を使用してログ ファイルをスキャンし、特定のパターンの発生を見つけようとしています。これまでのところ、正規表現を使用した検索のテストは失敗していますが、原因であると思われることに気付きました。問題のログ ファイルで get-content を実行すると、ファイルは元に戻りますが、notepad++ で表示されたときに 1 行だったものが複数行に折り返されます。

とにかくpowershellがテキストを折り返すのを止める方法はありますか、それともウィンドウがpowershellの行の長さの制限であるという事実にハードコーディングされていますか?

4

3 に答える 3

3

Out-Fileデフォルトでは、ホスト ウィンドウの幅で行を書き込みます。デフォルトは です80。たぶん、使用してみるSet-ContentOut-File-Width十分に大きくしてください。

于 2013-03-07T16:03:16.573 に答える
1

コンソールで行が折り返されているのは、テキストの表示方法のためです。正規表現には影響しません。

Get-Contentつまり、正規表現検索に使用する必要はありません。Select-String仕事自体はできるはずです。

于 2013-03-07T15:56:06.417 に答える
0

アプリケーションとオペレーティング システムは通常、改行を 1 つまたは 2 つの制御文字 (通常はキャリッジ リターン (バックティック r) とラインフィード (バックティック n)) で表します。

-delimiterこれらの制御文字のいずれかが後に続くパラメータを明示的に追加して、コンテンツを分割してみてください。

get-content file.log -delimiter "`n"
于 2013-03-07T16:38:53.267 に答える