명령을 파이프로 연결했으며 less
이제 해당 명령의 출력을 파일에 저장하려고 합니다. 어떻게 해야 하나요?
이 경우에는 를 사용하고 싶지 않습니다. tee
사용을 잊어버린 경우 장기 실행 명령을 다시 실행할 필요가 없도록 less에서 직접 솔루션을 원합니다 tee
.
이 질문은 이 질문과 유사합니다. 유일한 차이점은 하위 집합이 아닌 모든 행을 저장하고 싶다는 것입니다.less에서 파일에 줄 쓰기
답변1
From 에 less
를 입력한 s다음 저장할 파일 이름을 입력하고 를 입력합니다 Enter. 해당 페이지
에서 :man
COMMANDS
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 > filename
및 Enter.
이는 입력이 파이프인지 일반 파일인지에 관계없이 작동합니다.
답변2
이렇게 하지 않고 이를 수행하는 한 가지 방법 tee
은 다음과 같습니다.
less /path/to/input > /path/to/output
위 내용이 이미 존재하는 경우 /path/to/output
덮어쓰게 됩니다.
동일한 작업을 수행하되 /path/to/output
다음 부록을 사용하십시오. 텍스트를 연 후 저장하려면
less /path/to/input >> /path/to/output
"파일 저장" 기능을 사용할 수 있습니다. 로그인한 후 을 누르세요. 그런 다음 파일 이름을 입력합니다. 파이프를 사용하면 파일이 자동으로 작업 디렉터리에 기록됩니다. 파이프를 사용하지 않는 경우 텍스트(저장 가능)가 포함된 파일을 엽니다. 나는 그 파일이 에 있을 것이라고 믿는다.less
less
s
vim
답변3
적게 사용하는 대신 티를 사용한 다음 티를 적게 파이프로 연결합니다.
./program | tee program.out | less