Como usar 'cat' ou 'less' dependendo da contagem de linhas?

12

Ao analisar o conteúdo dos arquivos, eu gostaria de% mn%% arquivos curtos, mas cat daqueles que excedem o tamanho da tela. Eu poderia usar algo com less , mas existe uma maneira melhor que talvez considere também o tamanho da janela / quantidade atual de linhas disponíveis?

    
por Tobias Kienzler 22.06.2012 / 11:45

2 respostas

9

Para fornecer a fórmula que envolve a verificação wc :

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

Existe uma variável $LINES shell que também pode ser usada:

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

Mas $LINES é atualizado apenas no prompt de comando. Para entender o que quero dizer, execute isso e redimensione a janela do terminal durante o sleep :

( sleep 3; echo $LINES; tput lines )
    
por 22.06.2012 / 13:04
20

Talvez 'menos -F file_to_read' seja a opção: ele sai menos se a janela for suficiente para exibir todo o arquivo e espera no pager se não for o caso

    
por 22.06.2012 / 11:48

Tags