A saída listrada ajuda a ler linhas longas

A saída listrada ajuda a ler linhas longas

Gostaria de saber se existe uma maneira mais rápida e clara de verificar os arquivos de log no gedit. Pelo menos se for possível destacar linhas alternativamente.

insira a descrição da imagem aqui

Responder1

A saída listrada ajuda a ler linhas longas

Editar 2:

Encontrei uma ferramenta dedicada, ksystemlogpara observar os arquivos de log padrão. Pode ser a melhor alternativa para observar os arquivos de log. Ele destaca linhas alternadas, 'listra' a janela de texto e também pode fazer outras coisas. Veja os links a seguir

https://apps.kde.org/ksystemlog/

https://www.ubuntupit.com/best-linux-log-viewer-and-log-file-management-tools/

e você pode instalá-lo a partir do repositório Universe,

sudo apt update
sudo apt install ksystemlog

insira a descrição da imagem aqui


Deixo as outras alternativas nesta resposta, porque você pode querer tal ferramenta para outras finalidades além de arquivos de log, e o método com sedsequências ANSI e lesspode funcionar com arquivos de texto muito grandes. Eu conheço o visualizador less, funciona bem para mim.

E finalmente, encontreigloggtambém no segundo link acima. Ele também permite visualizar arquivos de texto muito grandes, mas parece não haver destaques em linhas alternadas, nem 'listras'. (Você pode preferir a GUI gloggà interface em modo texto de less.)

sudo apt update
sudo apt install glogg

Editar 1:

Você pode tentar com o seguinte shellscript, que você pode chamar randig. Ele usa sequências de escape ANSI para renderizar a cor e lessvisualizar o resultado. O arquivo a ser visualizado é inserido como parâmetro no shellscript.

Usar também xterme sedtorna uma ferramenta melhor (que a original), mais rápida e mais agradável para os olhos.

#!/bin/bash

# xterm -fs 14 sets the font size
# xterm -bg '#2b2c2b' -fg '#dbdcdb' is grey background and white foreground
# ANSI:
# 'esc[33;40m' is yellow/brown on black background
# 'esc[0m' resets video

if test -s "$1"
then
 tmpfile=$(mktemp)
 sed -e "s/^/$(echo -en '\0033[33;40m')/;s/$/$(echo -en '\0033[0m')/;n" "$1" > "$tmpfile" 

 xterm -title "${0##*/} $1" -fa default -fs 14 -bg '#2b2c2b' -fg '#dbdcdb' -e less -r "$tmpfile" 2> /dev/null

 rm "$tmpfile"
else
 echo "
Usage ${0##*/} <text-file>

striped output helps reading long lines"
fi

Torne o shellscript executável

chmod +x randig

e usá-lo localmente com

./randig file-to-view

ou mova-o para um diretório PATHpara usá-lo 'em qualquer lugar' com

randig file-to-view

Comentários:

  • A quebra de linha causa problemas para o visualizador less, portanto, se possível, deixe a janela larga o suficiente para mostrar as linhas sem quebra.

  • Você pode precisar instalar xterm,

    sudo apt update
    sudo apt install xterm
    
  • Edite o tamanho da fonte e as cores de acordo com o que melhor se adapta aos seus olhos :-)

Exemplo:

randig randig

insira a descrição da imagem aqui

Fim das edições


Shellscript original:

#!/bin/bash

blueback="\0033[1;44m"
whitefore="\0033[1;37m"
yellowfore="\0033[1;33m"
resetvid="\0033[0m"

inv=true

########################################################################
function doit {

ifs0=$IFS
IFS=$'\n'   
while read -r line
do
 if $inv
 then
  inv=false
  echo -en "$yellowfore"
  echo -E "$line"
 else
  inv=true
  echo -en "$whitefore"
  echo -E "$line"
 fi
# sleep .5
done < "$1"
IFS=$ifs0
}
########################################################################

# main

########################################################################

echo -en "$blueback"
doit "$1" | less -r
echo -en "$resetvid"

Exemplo:

./randig randig

insira a descrição da imagem aqui

informação relacionada