- 締切済み
findstrでヒットした1行前の文字を拾いたいです。
findstrでヒットした1行前の文字を拾いたいです。 Windows文字検索コマンドのfindstrがあります。 > findstr "ヒットしたい文字" c:\hoge.txt で、hoge.txtの「ヒットしたい文字」を取り出せますが、 ヒットした1行前の文字を抜き出す方法はありますでしょうか? unixのgrepだと"-1"のオプションで1行前の文字摘出ができました。 findstrのオプションでは無さそうなので代替案がありましたら お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
マニュアルを見ても、そこまで便利なコマンドではないようです。 /N で行番号が表示されるので、これを別なプログラムで取り出して -1した行を表示...という方法はあるでしょうが。 そこまでやるなら、 GNU grep のWindows移植版を使うとか、 Perl,Python,Rubyといった言語でスクリプトを書いた方が速そうです。 perl -ne 'if (/検索する文字列/){ print $prev ;} ; $prev = $_ ;' なんたら.txt とか