![파일이 화면보다 짧을 때 less --quit-if-one-screen --no-init +G가 화면을 빈 줄로 채우는 것을 방지하는 방법은 무엇입니까?](https://linux55.com/image/171587/%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%ED%99%94%EB%A9%B4%EB%B3%B4%EB%8B%A4%20%EC%A7%A7%EC%9D%84%20%EB%95%8C%20less%20--quit-if-one-screen%20--no-init%20%2BG%EA%B0%80%20%ED%99%94%EB%A9%B4%EC%9D%84%20%EB%B9%88%20%EC%A4%84%EB%A1%9C%20%EC%B1%84%EC%9A%B0%EB%8A%94%20%EA%B2%83%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 사용한다
less -XFR +G
페이지 매김 git log
의 일부 변형 및네 가지 옵션 모두 중요합니다..
내가 싫어하는 점은 ~
로그/파일이 화면보다 짧을 때 화면이 빈 줄(마커 포함)로 채워지는 것입니다.
재현하기 위해 찾을 수 있는 더 짧은 단계는 다음과 같습니다.
echo -e 'one\ntwo\nthree' | less -F +G
파일이 페이지에 맞으면 명령이 마치 존재하지 않는 것처럼 작동하기를 원합니다.
답변1
less 자체로는 이 작업을 수행할 수 있는 방법이 없는 것 같습니다. 스크립트를 사용하여 cat과 less 사이에서 결정할 수 있습니다(향상된https://superuser.com/a/215307):
maybeless() {
if [[ "$1" ]]; then
f="$1"
else
f="$(mktemp)"
cat > "$f"
fi
< <(wc -lc < "$f") read -r lines chars
if (( "$lines" < ${LINES:-20} && "$chars" < ${COLUMNS:-80} * ${LINES:-20} )); then
cat "$f"
else
less -XR +G "$f"
fi
if [[ -z "$1" ]]; then
rm "$f"
fi
}