ファイルの最後の行だけを印刷してからファイルの最初の行を印刷する方法はawkにありますか?

ファイルの最後の行だけを印刷してからファイルの最初の行を印刷する方法はawkにありますか?

検索しましたが、回答が見つかりませんでした。 awkを使用してファイルの最後の行(またはレコード)を印刷したいと思います。最初の行を印刷する方法を知っています。

NR == 1{print}

そして最後の行

END{print}

しかし、場所をどのように変更しますか?可能ですか?これを試みるとエラーが発生します。統合する方法はありますか?

NR == 1{print}

コマンドはENDコマンドに変換されますか?繰り返しますが、私はこれをawkでのみしたいと思います。ありがとうございます!

ベストアンサー1

最初の行を変数に保存します。

awk 'NR==1 {first = $0} END {print; print first}' file

前任者。次fileのように与えられる

line 1
line 2
line 3
line 4
line 5

それから

$ awk 'NR==1 {first = $0} END {print; print first}' file
line 5
line 1

おすすめ記事