2016-11-29 309 views
2

のWindows 7がWindows:findstr - 行を検索する前後に3行を出力する方法は?

私がしたい場合は、(Windowsのシェルから)私は、次のコマンドを使用して、ファイルにテキスト結果プリントとして

findstr "find_this" trace.log 

すべての行コンテンツのテキスト「find_this」を見つけました。 OK。 しかし、私は3行前と3行後にも行を検索する必要があります。 コマンドでこれを行う方法findstr? Unixでは

私は「グレップ」

grep -B 3 -A 3 find_this trace.log 

によってこれを行うことができますしかし、私はWindows上でこれを行うことができますか?

答えて

0

あなたは、(あなたが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 

PowerShellのコマンドのために開いている場合は、Get-コンテンツコマンドは、指定されたファイルを取得します。 Select-Stringコマンドは、検索するパターンを取ります。 Contextコマンドでは、表示したい行(前後の行)(一致した行の周り)を指定できます。

+0

(PowerShellの場合) Select-String -Path "trace.log" - パターン "find_this" - コンテキスト3,3 – Alexei

+0

確か。それはよさそうだ。 – blackpen

関連する問題