Less에서 열린 파일에 대해 내 명령을 실행합니다. 가능합니까?

Less에서 열린 파일에 대해 내 명령을 실행합니다. 가능합니까?

명령 을 통해 내 자신의 명령을 실행할 수 있는지 궁금합니다 less. 이는 파일 less을 열어 놓은 다음 화면을 그대로 유지하면서 내가 보고 있는 것(또는 필요한 경우 전체 파일)에 대해 내 명령을 실행할 수 있음을 의미합니다 . 예를 들어, 현재 보고 있는 내용을 다른 방식으로 색칠하거나 파일의 특정 줄을 표시하거나 숨기는 다양한 스크립트를 실행할 수 있기를 원합니다.

나는 매번 다른 실행을 할 수 있다는 것을 알고 있지만 cat <file> | my-script | less -R그것이 제공하는 편집자와 같은 경험을 제공하지는 않습니다 less.

답변1

less의 명령을 사용하여 |다른 프로그램을 통해 파일을 파이프할 수 있습니다.

  1. 누르다 |.
  2. 기호 문자 또는 ^또는 $또는 을 입력하세요 ..
  3. 실행할 쉘 명령을 입력하십시오.
  4. 누르다 Enter.

현재 위치와 마크 사이의 파일 부분만 파이프됩니다. 표시는 각각 파일의 시작과 끝을 의미하거나 명령으로 정의된 위치 ^일 수 있습니다 . 현재 위치는 마크가 그 앞에 있으면 화면의 라인이고, 그렇지 않으면 화면 하단의 라인입니다. 특히 전체 파일을 파이프하려면 또는 를 사용하여 파일의 한쪽 끝으로 위치를 설정하고 다른 쪽 끝으로 표시를 설정합니다. 화면에 표시된 라인만 파이프하려면 mark 를 사용하십시오 .$m<|$mycommand>|^mycommand.

명령의 출력은 화면에 남아 있지 않습니다. 더 적은 양으로 출력을 탐색하려면 다른 인스턴스를 시작해야 합니다(예: rot13 | less. less의 두 번째 인스턴스를 종료하면 첫 번째 인스턴스로 돌아갑니다. 현재 인스턴스의 콘텐츠를 파이프된 데이터로 바꿀 수 있는 방법은 없습니다. 색상을 보려면 를 실행하는 것을 잊지 마세요 less -R.

관련 정보