选择要查找的字符串,然后从找到的单词中选择一个字符串的一部分

时间:2013-02-05 11:07:31

标签: powershell

我正在尝试使用powershell来执行以下操作: 我正在尝试搜索一个单词,然后一旦找到该单词,我需要向上移动3行并读取字符34到42并打印出来。

测试文件:

  1. 我要在这里散步,我们步行走到河边散步 yadda yadda。
  2. lalalalala - 她说
  3. 辊卷他说
  4. 井干了
  5. 我拥有的: select-string $ TestFile -pattern“well”-simplematch 3 {34,42}

    我无法弄清楚: 如何打印出“步行步行”部分。

    每次打印出整行1. 2.和3时会发生什么。 我只需要一部分“步行散步”

    如果有帮助,我将其用于日志文件。在文件中,单词error是错误代码下面的3行,通常是一个字符串,在它之上。

1 个答案:

答案 0 :(得分:2)

使用Context参数:

PS> (Get-ChildItem $TestFile | Select-String well -Context 3).Context.PreContext[-3].Substring(35,15)
walk walk walk