0

PowerShellを使用して次のことを実行しようとしています。単語を検索しようとしています。単語が見つかったら、3行上に移動し、34〜42文字を読み取って印刷する必要があります。

テストファイル:

  1. 私はここで長い散歩に行きます私たちは歩いて歩いてヤッダヤッダ川まで歩いて行きます。
  2. lalalalala-彼女は言います
  3. ロールロールロール彼は言う
  4. 井戸は乾燥していた

私が持っているもの:select-string $ TestFile -pattern "well" -simplematch 3 {34,42}

わからないこと:「歩く散歩歩く」の部分を印刷する方法。

何が起こるかは、1、2、3行全体を印刷するたびです。必要なのは「ウォークウォークウォーク」の一部だけです。

それが助けになるなら、私はこれをログファイルに使用しています。このファイルでは、エラーという単語はエラーコードの3行下にあり、通常はその上に文字列があります。

4

1 に答える 1

2

Context パラメーターを使用します。

PS> (Get-ChildItem $TestFile | Select-String well -Context 3).Context.PreContext[-3].Substring(35,15)
walk walk walk
于 2013-02-05T11:29:39.917 に答える