Ao analisar o conteúdo dos arquivos, gostaria de cat
encurtar automaticamente os arquivos, mas less
aqueles que excedem o tamanho da tela. Eu poderia usar algo com wc -l
, mas existe uma maneira melhor que talvez também considere o tamanho da janela / quantidade atual de linhas disponíveis?
12
git log
qual faz exatamente isso. Você nunca sabe de antemão o que vai receber (precisa acertarq
?).cat
para visualizar arquivos. Normalmente, você deve usar apenascat
para enviar o conteúdo de um arquivo para o stdout, para que ele possa ser canalizado para outro processo. O motivo para evitar o usocat
para visualização é que ele envia os bytes brutos para o terminal, o que pode causar a execução de comandos inesperados do terminal (por exemplo, alguns usuários ficam presos quando um arquivo contém os bytes corretos para desativar o teclado do terminal) . Você geralmente deve usar um pager comoless
ou um editor, que formatará caracteres especiais para exibição, para que não sejam interpretados pelo terminal.cat -v
para que ele escape de caracteres especiais.cat
possível usar a tela dividida ? o que pode ser uma solução melhorcat -v
para foraRespostas:
Para fornecer a fórmula que envolve a
wc
verificação baseada em:Há uma
$LINES
variável de shell que também pode ser usada:Mas
$LINES
é atualizado apenas quando no prompt de comando. Para entender o que quero dizer, execute isso e redimensione a janela do terminal durante osleep
:fonte
less
já se, por exemplo, 2/3 da tela foram usadoscat
.Talvez 'less -F file_to_read' seja a opção: ela sai menos se a janela for suficiente para exibir todo o arquivo e aguarde no pager, se não for o caso
fonte
-X
opção interromperá a limpeza, para que arquivos curtos sejam exibidos como ocat
fazem. Infelizmente,-X
a tela não será limpa nem após a exibição de arquivos longos e rolados.cat
foram chamados assim