tail コマンドの代わりに bat コマンドを使用するにはどうすればよいですか?

tail コマンドの代わりに bat コマンドを使用するにはどうすればよいですか?

私は の構文強調表示が気に入っていますcat。そのため、 コマンドの代わりにこれを使用したいと考えています。しかし、これを実現する一般的な方法を見つけることができません。ただし、ファイルの行番号がわかっている場合はtail、 の代わりにこのコマンドを使用できます。tail

たとえば、という名前のファイルtest.logに 90 行が含まれている場合、次のコマンドを使用して最後の 10 行を印刷できます。

batcat --line-range "80:" test.log

しかし、ファイルの行番号がわからない場合は同じことはできません。他の方法はありますか?

答え1

tail -n10は適切な最短の答えですが、それを実行するには以下を実行しますbatcat

batcat --line-range $(expr $(wc -l /etc/hosts | cut -d" " -f 1) - 1): /etc/hosts

-1 を必要な行数に変更するだけです。つまり、10 行が必要な場合は -9 に設定します。batcat の「:」は負の数を受け入れないため、ショートカットはありません。

関連情報