Полосчатый вывод облегчает чтение длинных строк

Полосчатый вывод облегчает чтение длинных строк

Интересно, есть ли более быстрый и понятный способ проверки файлов журнала в gedit. По крайней мере, если можно подсвечивать строки альтернативно.

введите описание изображения здесь

решение1

Полосчатый вывод облегчает чтение длинных строк

Редактировать 2:

Я нашел специальный инструмент, ksystemlog, для просмотра стандартных файлов журнала. Это может быть наилучшей альтернативой для просмотра файлов журнала. Он выделяет каждую вторую строку, «размечает» текстовое окно и может делать и другие вещи. Смотрите следующие ссылки

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

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

и вы можете установить его из репозитория Universe,

sudo apt update
sudo apt install ksystemlog

введите описание изображения здесь


Я оставляю другие альтернативы в этом ответе, потому что вам может понадобиться такой инструмент для других целей, нежели файлы журналов, и метод с sed, последовательностями ANSI и lessможет работать с очень большими текстовыми файлами. Я знаю просмотрщик less, он хорошо работает для меня.

И наконец, я нашелgloggтакже во второй ссылке выше. Он также позволяет просматривать очень большие текстовые файлы, но, похоже, нет подсветки через строку, нет «полос». (Вы можете предпочесть графический интерфейс gloggтекстовому режиму интерфейса less.)

sudo apt update
sudo apt install glogg

Редактировать 1:

Вы можете попробовать следующий скрипт оболочки, который вы можете вызвать randig. Он использует управляющие последовательности ANSI для отображения цвета и lessпросмотра результата. Файл для просмотра вводится как параметр скрипта оболочки.

Использование также xtermи sedделает инструмент лучше (чем оригинальный), быстрее и приятнее для глаз.

#!/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

Сделайте скрипт исполняемым

chmod +x randig

и использовать его локально с

./randig file-to-view

или переместить его в каталог, PATHчтобы использовать его «где угодно» с

randig file-to-view

Комментарии:

  • Перенос строк вызывает проблемы для зрителя less, поэтому, если возможно, сделайте окно достаточно широким, чтобы отображать строки без переноса.

  • Вам может потребоваться установить xterm,

    sudo apt update
    sudo apt install xterm
    
  • Пожалуйста, измените размер шрифта и цвета в соответствии с тем, что лучше всего подходит вашим глазам :-)

Пример:

randig randig

введите описание изображения здесь

Конец редактирования


Исходный скрипт:

#!/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"

Пример:

./randig randig

введите описание изображения здесь

Связанный контент