적은 -S로 작은 단위로 수평 스크롤


25

lessHTTP 액세스 로그를 구문 분석 하는 데 사용 하고 있습니다. 한 줄로 모든 것을 깔끔하게보고 싶기 때문에을 사용하고 -S있습니다.

내가 가진 문제는 터미널 창의 첫 번째 1/3이 신경 쓰지 않는 메타 데이터로 채워진다는 것입니다. 화살표 키를 사용하여 오른쪽으로 스크롤하면 관심있는 정보의 시작 부분을지나 스크롤됩니다.

각 줄의 시작 부분을 삭제할 수는 있지만 나중에 해당 데이터가 필요한지 알 수 없으며 일부 로그를 볼 때마다 별도의 파일을 유지 관리하거나 스크립트를 실행할 필요가 없습니다.

예

이 줄 :

access.log00002 : 10.0.0.0-USER_X [07 / Nov / 2013 : 16 : 50 : 50 +0000] "GET / some / long / URL"

스크롤 : ng/URL"

의문

문자 또는 단어별로 더 작은 단위로 스크롤 할 수있는 방법이 있습니까?

답변:


19

유일한 가로 스크롤 명령은 화면 전체의 절반으로 스크롤되지만 숫자 인수를 전달하여 문자 수를 지정할 수 있습니다 (예 : 4 Right오른쪽으로 스크롤하여 4 자 입력). Less는 실제로 "현재 줄"이라는 개념이 없으며 줄을 단어로 나누지 않으므로 한 번에 한 단어 씩 스크롤 할 수있는 방법이 없습니다.

고정 된 문자 수만큼 스크롤되는 명령을 정의 할 수 있습니다. 예를 들어 Shift+ Left와 Shift+ Right를 한 번에 4 자로 스크롤하려면 다음을 수행하십시오.

  1. 이러한 키 조합에 대해 터미널이 전송하는 제어 순서를 결정하십시오. 터미널은 (쓸 수있는 탈출로 시작되는 일련의 바이트 전송 \e, \033, ^[기능 키와 keychords 다양한 상황에서) 문자를. 쉘 프롬프트에서 Ctrl+ V Shift+ Left를 누르면 쉘 ^[이 처리하지 않고 문자 그대로 이스케이프 문자를 삽입하고 ( 화면에 표시됨) 나머지 이스케이프 시퀀스를 삽입합니다. 일반적인 설정은이 Shift+ Left과 Shift+ Right전송 \eO2D하고 \eO2C각각을.

  2. 파일을 작성 ~/.lesskey하고 다음 행을 추가하십시오 (터미널이 다른 이스케이프 시퀀스를 보내는 경우 조정하십시오).

    #command
    \eO2D noaction 4\e(
    \eO2c noaction 4\e)
    

    그런 다음 실행 lesskey사람이 읽을 수있는 변환하는 ~/.lesskey바이너리 파일에 시작할 때 읽습니다.~/.lessless


19

"-#"옵션을 사용하여 가로 스크롤 열 수를 설정할 수 있습니다.

매뉴얼 페이지에서 :

-# 또는 --shift
RIGHTARROW 및 LEFTARROW 명령에서 가로로 스크롤 할 기본 위치 수를 지정합니다. 지정된 숫자가 0이면 기본 위치 수를 화면 너비의 절반으로 설정합니다.

예 (가로 스크롤을 10 열로 설정) :

-S-# 10 my_file 이하


이 옵션을 일부 구성 파일에 추가 할 수 있으므로 명령을 입력 할 때마다-# 1 옵션을 전달할 필요가 없습니까?
— Trismegistos

1
예 @Trismegistos, 당신은 당신의 환경 변수를 설정할 수 있습니다 ~/.bashrc와export LESS="-# 1"
— wisbucky

숫자가 소수점으로 시작하는 경우 화면 너비의 백분율을 설정할 수도 있습니다. 예를 들어, -# .25화면 너비의 1/4만큼 스크롤됩니다.
— wisbucky


2

대안은 most호출기 를 사용하는 것 입니다.

에서 줄 most바꿈 없음 ( -S)이 기본값이며 Right반 화면 대신 한 열을 오른쪽으로 스크롤합니다. >또는 Tab을 사용 하여 더 빠르게 스크롤 하십시오 .

또 다른 대안은이다 w3m당신이 사용할 수있는 호출기 (최고의 터미널 웹 브라우저의 하나) <, >뿐만 아니라,와 ,, .(QWERTY 키보드에서 동일한 키)를 스크롤보다 세밀하게하십시오.


사실이 아닙니다. 더 줄 바꿈이 기본값이며 -S 옵션이 없습니다.
— Trismegistos

1
@Trismegistos, 나는 more(수십 개의 구현이있는) 것에 대해 이야기 하는 것이 아니라 most(John E. Davis에 의해 다른 구현에 대해서는 알지 못합니다).
— Stéphane Chazelas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.