Responder1
A saída listrada ajuda a ler linhas longas
Editar 2:
Encontrei uma ferramenta dedicada, ksystemlog
para 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
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 sed
sequências ANSI e less
pode funcionar com arquivos de texto muito grandes. Eu conheço o visualizador less
, funciona bem para mim.
E finalmente, encontreiglogg
també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 less
visualizar o resultado. O arquivo a ser visualizado é inserido como parâmetro no shellscript.
Usar também xterm
e sed
torna 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 PATH
para 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
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