less의 모든 줄을 파일에 쓰는 방법은 무엇입니까?

less의 모든 줄을 파일에 쓰는 방법은 무엇입니까?

명령을 파이프로 연결했으며 less이제 해당 명령의 출력을 파일에 저장하려고 합니다. 어떻게 해야 하나요?

이 경우에는 를 사용하고 싶지 않습니다. tee사용을 잊어버린 경우 장기 실행 명령을 다시 실행할 필요가 없도록 less에서 직접 솔루션을 원합니다 tee.

이 질문은 이 질문과 유사합니다. 유일한 차이점은 하위 집합이 아닌 모든 행을 저장하고 싶다는 것입니다.less에서 파일에 줄 쓰기

답변1

From 에 less를 입력한 s다음 저장할 파일 이름을 입력하고 를 입력합니다 Enter. 해당 페이지
에서 :manCOMMANDS

s filename
      Save the input to a file.  This only works if the input is a pipe, not an ordinary file.

man또한 페이지에는 특정 설치에 따라 이 s명령을 사용하지 못할 수도 있다고 명시되어 있습니다. 이 경우 다음 명령을 사용하여 1행으로 이동할 수 있습니다.

g or < or ESC-<
      Go to line N in the file, default 1 (beginning of file).

전체 콘텐츠를 다음으로 파이프합니다 cat.

| <m> shell-command
      <m> represents any mark letter. Pipes a section of the input file to the
      given shell command. The section of the file to be piped is between the
      first line on the current screen and the position marked by the letter. 
      <m> may also be ^ or $ to indicate beginning or end of file respectively.

따라서 다음 중 하나를 수행하십시오.

g|$cat > filename

또는:

<|$cat > filename

즉, g또는 <(G또는미만) | $(관로그 다음에달러) cat > filenameEnter.
이는 입력이 파이프인지 일반 파일인지에 관계없이 작동합니다.

답변2

이렇게 하지 않고 이를 수행하는 한 가지 방법 tee은 다음과 같습니다.
less /path/to/input > /path/to/output
위 내용이 이미 존재하는 경우 /path/to/output덮어쓰게 됩니다.

동일한 작업을 수행하되 /path/to/output다음 부록을 사용하십시오. 텍스트를 연 후 저장하려면
less /path/to/input >> /path/to/output

"파일 저장" 기능을 사용할 수 있습니다. 로그인한 후 을 누르세요. 그런 다음 파일 이름을 입력합니다. 파이프를 사용하면 파일이 자동으로 작업 디렉터리에 기록됩니다. 파이프를 사용하지 않는 경우 텍스트(저장 가능)가 포함된 파일을 엽니다. 나는 그 파일이 에 있을 것이라고 믿는다.less
lesss


vim

답변3

적게 사용하는 대신 티를 사용한 다음 티를 적게 파이프로 연결합니다.

./program | tee program.out | less

관련 정보