답변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
의 텍스트 모드 인터페이스보다 의 GUI를 선호할 수도 있습니다 less
.)
sudo apt update
sudo apt install glogg
편집 1:
를 호출할 수 있는 다음 쉘스크립트를 사용해 볼 수 있습니다 randig
. ANSI 이스케이프 시퀀스를 사용하여 색상을 렌더링하고 less
결과를 봅니다. 보려는 파일은 쉘스크립트에 매개변수로 입력됩니다.
also를 사용하면 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