如何根据行数使用“cat”或“less”?

如何根据行数使用“cat”或“less”?

当查看文件内容时,我想自动cat缩短文件,但less那些超出屏幕大小的文件。我可以使用一些东西wc -l,但是有没有更好的方法可以考虑窗口大小/当前可用的行数?

答案1

也许“less -F file_to_read”是选项:如果窗口足以显示所有文件,则退出 less,如果不是这种情况,则等待寻呼机

答案2

为您提供涉及基于 - 的检查的公式wc

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

还有一个$LINESshell 变量也可以使用:

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

$LINES仅在命令提示符下更新。要理解我的意思,请运行此命令并在以下期间调整终端窗口的大小sleep

( sleep 3; echo $LINES; tput lines )

相关内容