less의 현재 내용을 파일로 저장하려면 어떻게해야합니까?


91

명령 결과를 파이프하고 less파일에 내용을 저장하기로 결정한 경우 가능합니까?

a버퍼의 끝에 마크 를 설정 한 다음 맨 위로 돌아가 |avi전체 내용을 보내기 위해 사용 vi했지만 작동하지 않습니다.


1
vi를 stdin에서로드하도록 지시하면 원래 기술이 작동합니다 |avi -.
Joe Shaw

답변:


102

내 시스템에서 man less말한다

       파일 이름
              입력을 파일에 저장하십시오. 이것은 입력이
              일반 파일이 아닌 파이프.

나를 위해 작동합니다!


4
어떻게 든, 이것은 나를 위해 작동하지 않습니다- 's'를 입력하면 창을 한 줄씩 이동합니다. 저는 Mac에 있습니다.
benroth 2012

2
@benroth : 아마도 lesskey일반적인 명령을 바꾸는 파일이 있을 것입니다 . 참조man lesskey
RedGrittyBrick

8
s나에게도 효과가 없지만 작동합니다 -o file.
user1338062

1
대화 형 도움을 얻기 위해 'h'를 입력 할 때 왜 지구상에서 이것이 언급되지 않습니까? +1 당신은 대화 형의 도움을 읽었습니다 때문에 상담을 생각하지 않았 으면 man less...
피터 V. Mørch

1
@comfreak : 그렇습니다. 데비안 9 / 스트레치 / 안정에서 우분투 18.04에서는 487 이하, 481 이하
Peter V. Mørch

24

@benroth가 말했듯이 허용되는 답변은 Mac에서 작동하지 않습니다 .-를 누르면 s줄이 아래로 이동하지만 다른 방법을 사용할 수 있습니다.

에서 less --help:

|Xcommand            Pipe file between current pos & mark X to shell command.

A mark is any upper-case or lower-case letter.
Certain marks are predefined:
     ^  means  beginning of the file
     $  means  end of the file

따라서 버퍼 맨 위로 이동하면 ( <) :

|$cat > /tmp/foo.txt

버퍼의 내용은에 기록됩니다 /tmp/foo.txt.


이 방법은 다른 명령을 통해보고있는 현재 버퍼를 파이프하려는 경우에 특히 유용합니다.
Doron Behar

3

당신이 때 less열, 당신은 파일의 전체 출력을 저장할 수 있습니다. 처럼 vim명령을 덜 지원합니다.

그냥 키를 입력 s한 후, less입력 한 후 바로 파일 이름을 입력하면 내용을 저장하고자하는 파일의 당신에게 이름을 물어 것입니다 Enter.

건배


0

>연산자를 사용하십시오 . 예를 들면 다음과 같습니다 less foo.bar > output.txt..


감사합니다 @Dror,하지만 난 이미 덜 응용 프로그램에있어, 배쉬에서 더 이상 표시하지
조나단 일

Q / A에 소중한 기여. 완전히 별개의 질문을 시작하는 대신 Less Viewer를 통해 여러 파일을 스크립팅하는 방법이 필요한 사람들 은 많은 이점을 얻을 수 있습니다. 많은 검색 후 작업 시간을 절약했습니다. 감사!
LD 제임스

0

덜 시작한 경우 아니요,하지만 전에 파일을 적게 보내고 파일을 보내려면 tee 명령을 사용할 수 있습니다.

command | tee out_file | less

고마워 마크,하지만 내가 이미 적은 경우 어떻게 구체적으로 찾고 있어요
Jonathan Day

0

제 답변은 너무 늦습니다. 그러나 위의 benroth의 우려에 대한 응답으로 OSX 사용자의 경우 콜론 프롬프트에서 "-l"옵션 ( DASH ELL 읽기 )을 사용하여 호출기의 내용을 로그 파일로 덤프하는 옵션이 항상 있습니다.

호출기는 로그 파일을 요청합니다. 키를 누른 후 [CR]을 누릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.