sed スクリプトは、最後の一致から n 行を出力します。

sed スクリプトは、最後の一致から n 行を出力します。

ここ最後の一致以降のすべての行を印刷するリンク。

しかし、最後の一致から2行だけ印刷したいです。どうすればいいですか?

ベストアンサー1

あなたが使用できるed

printf '%s\n' '?pattern?+1, ?pattern?+2 p' | ed -s file

edこれはstdinにコマンドを送信します。この-sフラグは、ファイルを読み込むときのバイト数の出力を抑制します。コマンドは次のように分類されます。

  • ... , ... p- 与えられた(...、...)アドレス範囲内の行を印刷します。
  • ?pattern?+1- 戻る検索でpattern1つ追加
  • ?pattern?+2- 戻る検索でpattern2つ追加

pattern現在のデフォルトはファイルの最後の行なので、これらの検索はファイル内の最後の項目を探します。その後、オフセットは次の2行を選択します。

おすすめ記事