grepを逆にして、ファイル内の最後の2つのオカレンスを取得する


9

/var/log/syslog.loggrepマニュアルを調べて、cronの最後の5つの説明を取得したいとします。grepを逆に検索できないようです。しかし、私は最新の出来事をつかむことができます。

grep cron -m 5 /var/log/syslog

使用できる逆grepコマンドはありますか?:)

回答:


14

ツールを組み合わせるという通常のUNIXの哲学に従います。grep検索に使用しtail、ファイルの最後の部分を返します。

grep cron /var/log/syslog | tail -n 5

関心のあるコンテンツが最後のX行にあることがわかっている場合は、順序を逆にした方が高速です。tail -n 100 </ var / log / syslog | grep cron
bk0 2014

これは実際には順序を逆にするのではなく、grepを下のX行に制限するだけであることに注意してください。目的にかなう場合とそうでない場合があります。
2015

16

への配管はtacどうですか?

http://linux.about.com/library/cmd/blcmdl1_tac.htm

tac  /var/log/syslog | grep cron -m 5

元の順序を再構築するには、最後に2番目のタックが必要tac /var/log/syslog | grep cron -m 5 | tacです。Tacatac ... :)
ユーザー不明

しかし、リクエストの逆順の一部ではありませんか?Taaaac ^^
11年

あ、多分!私は最後の部分を探すこととしてのみ逆の部分を理解しました。
不明なユーザー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.