
私は の構文強調表示が気に入っています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 の「:」は負の数を受け入れないため、ショートカットはありません。