web-dev-qa-db-ja.com

ファイルの最後の行だけを印刷しますか?

ファイルの最後の行だけを印刷する方法は?

40
yael
END{print}

それを行う必要があります。 Ventero のおかげで、誰がこの回答を提出するのが面倒でした。

74
Joey

ジョブに適したツールを使用します。ファイルの最後の行を取得したいので、特に大きなファイルがある場合は、tailがジョブに適したツールです。この場合、Tailのファイル処理アルゴリズムはより効率的です。

tail -n 1 file

本当にawkを使用したい場合は、

awk 'END{print}' file

編集:tail -1 file非推奨

19
ghostdog74

これにはawkを使用する必要がありますか?単にtail -n 1 myFileを使用しないのはなぜですか?

13
RonK

sedを使用してこれを実現することもできます。ただし、tailまたはawkを使用することを個人的にお勧めします。

とにかく、sedでやりたい場合、2つの方法があります。

方法1:

sed '$!d' filename

方法2:

sed -n '$p' filename

ここで、filenameは、分析するデータを含むファイルの名前です。

5
Tapan Avasthi

ファイルの最後の行を見つけます。

  1. Sedの使用(ストリームエディター):sed -n '$p' fileName

  2. テールを使用:tail -1 fileName

  3. awkを使用:awk 'END { print }' fileName

4
rishabh