2016-11-29 85 views
2

Windows 7的Windows:findstr - 如何在查找行之前/之後打印3行?

,如果我想找到了文件中的一些文字我使用一個命令(從Windows外殼)

findstr "find_this" trace.log 

至於結果打印所有行的內容文本「find_this」。好。 但是我需要在查找行之前打印3行和3行。 我怎麼可以通過命令findstr

在Unix上我可以的 「grep」

grep -B 3 -A 3 find_this trace.log 

做到這一點,但我怎麼能做到這一點在Windows?

回答

0

如果你打開PowerShell中的命令(因爲你似乎對Win7的),..

PS C:\Users\user> Get-Content data.txt 
one 
two 
three 
four 
five 
six 
seven 
eight 
nine 
ten 
eleven 
twelve 

PS C:\Users\user> Get-Content data.txt | Select-String -Pattern four -Context 2,4 

    two 
    three 
> four 
    five 
    six 
    seven 
    eight 

的獲取內容的命令獲取指定的文件。 Select-String命令採用您想要查找的模式。使用Context命令,您可以指定要顯示多少行(之前/之後)(在其匹配的行的周圍)。

+0

或者像這樣(在powershell上): Select-String -Path「trace.log」-Pattern「find_this」-Context 3,3 – Alexei

+0

當然。看起來不錯。 – blackpen

相關問題