решение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