「usb 1-3」と「address 20」の 2 つの値があります。今、これらの単語の両方を含むテキスト ファイル (基本的にはログ ファイル) を検索しようとしています。
そのファイルには、次のような単語を含む多くの行があります。
Apr 27 13:30:55 box2 kernel: usb 1-3: USB disconnect, address 20
and
Apr 27 13:25:43 box2 kernel: usb 1-3: new high speed USB device using ehci_hcd and address 20
ここでの要件は次のとおりです。これらの 2 つの単語が最後から 2 番目に出現する行と、その次の 16 行を取得する必要があります。ファイルに6回出現する場合(これらの単語の両方を含む6行)のように、5番目に出現する行とその次の16行が必要です。10 回のオカレンスがある場合、9 回目のオカレンスと次の 16 行が必要です。
現在私が使用していた
egrep -A 20 'usb 1-3:.*address 20' filename | tail -16 > output.
しかし、それは私に最後の出現を与えます。最後から2番目ではありません。行には両方の単語が同じ順序で含まれている必要があることに注意してください(最初にusb 1-3、その後にアドレス20) 私の質問が明確でない場合は教えてください。前もって感謝します。