条纹输出有助于阅读长行

条纹输出有助于阅读长行

我想知道是否有更快更清晰的方法来检查 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

在此处输入图片描述


我在这个答案中保留了其他替代方案,因为除了日志文件之外,您可能还需要这样的工具用于其他目的,并且该方法具有sedANSI 序列并且less可以处理非常大的文本文件。我知道查看器less,它对我来说很好用。

最后我发现glogg上面的第二个链接中也有。它也可以让你查看非常大的文本文件,但似乎没有每隔一行突出显示,没有“条纹”。(你可能更喜欢的 GUI 而glogg不是 的文本模式界面less。)

sudo apt update
sudo apt install glogg

编辑1:

您可以尝试使用以下 shellscript,您可以调用randig。它使用 ANSI 转义序列来呈现颜色并less查看结果。要查看的文件作为参数输入到 shellscript 中。

使用xtermsed制作一个比原来的更好的工具,更快,更美观。

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

使 shellscript 可执行

chmod +x randig

并在本地使用它

./randig file-to-view

或者将其移动到目录中PATH以便在任何地方使用它

randig file-to-view

评论:

  • 换行会给查看器带来麻烦less,因此,如果可能的话,请使窗口足够宽以显示行而不会换行。

  • 您可能需要安装xterm

    sudo apt update
    sudo apt install xterm
    
  • 请根据最适合您眼睛的方式编辑字体大小和颜色:-)

例子:

randig randig

在此处输入图片描述

编辑结束


原始shell脚本:

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

在此处输入图片描述

相关内容