当查看文件内容时,我想自动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'
还有一个$LINES
shell 变量也可以使用:
(($(wc -l<input_file)<=LINES)) && echo 'will fit' || echo 'not enough'
但$LINES
仅在命令提示符下更新。要理解我的意思,请运行此命令并在以下期间调整终端窗口的大小sleep
:
( sleep 3; echo $LINES; tput lines )