7

grep試合の前後と最後の試合のセリフは覚えましたが、最後の試合とその下のセリフのgrepやり方はわかりませんでしgrepた。

シナリオはサーバー ログです。コマンドからの動的出力を一覧表示したい。このコマンドは、1 つのサーバー ログで複数回使用される可能性があります。したがって、一致はコマンドであり、 他のフラグまたはテールコマンドのバリエーションと一緒にgrep使用して、求めている結果を完成させることができると思います。-A

4

2 に答える 2

14

最初の一致を見つけてコンテキスト行を出力する方が簡単なので、問題を逆にするアプローチです。ファイルを取得します。

$ cat file
foo
1
2
foo
3
4
foo
5
6

の最後の一致が必要でfooあり、次linesのファイルを で反転しtac、最初の一致とn上記の行を使用して検索し、使用-Bnを停止するとし-m1ます。次に、tac を使用して出力を単純に逆にします。

$ tac file | grep foo -B2 -m1 | tac
foo
5
6

ツールは、難しそうtacrev見える問題をはるかに簡単にすることができます。

于 2013-09-13T10:43:48.987 に答える