行数に応じて「cat」または「less」を使用する方法は?

行数に応じて「cat」または「less」を使用する方法は?

コンテンツを表示するときにファイルを自動的に縮小したいのですが、画面サイズを超えるファイルはありませんcatless使用できるものはいくつかありますが、wc -l現在利用可能なウィンドウのサイズ/行数を考慮するより良い方法はありますか?

答え1

おそらく「less -F file_to_read」がオプションかもしれません。ウィンドウがすべてのファイルを表示するのに十分な大きさの場合はlessを終了し、そうでない場合はポケットベルを待ちます。

答え2

ベースチェックに関連する式を提供しますwc

(($(wc -l<input_file)<=$(tput lines))) && echo 'will fit' || echo 'not enough'

$LINES利用可能なシェル変数もあります:

(($(wc -l<input_file)<=LINES)) && echo 'will fit' || echo 'not enough'

ただし、$LINESコマンドプロンプトでのみ更新されます。何を意味するかを確認するには、次のコマンドを実行し、次に端末ウィンドウのサイズを変更しますsleep

( sleep 3; echo $LINES; tput lines )

関連情報