파이프 입력 (파일과 유사)을 덜 따라갈 수 있습니까 (F를 누름)? 쓰여지는 파일의 경우 명령
less <file>
F를 누르면 파일을 따라갑니다.
그러나 파이프 출력을 다음과 같이 덜 적게 명령하는 경우
command | less
F를 누르면 아무것도하지 않습니다.
파이프처럼 파일을 따라갈 수없는 것처럼 보입니까? 아니면 STDERR에 쓰는 명령과 관련이 있습니까? 내가 달성하려는 효과는 항상 PageDown을 누른 것처럼 명령의 최신 출력을 보는 것입니다!
G (종료)에 대한 관련 설명이 있습니다. 직접 배관을 줄이면 작동하지 않습니다.
답변
누르면 F또는 G차종은 less
입력 EOF에 도달하려고합니다. 입력이 파이프 인 less
경우 파이프가 반대쪽에서 닫힐 때까지 멈 춥니 다 ( “아무것도하지 않음”).
명령 출력을 백그라운드의 임시 파일에 저장 한 후 다음에 대한 입력으로 사용하여이 문제를 해결할 수 있습니다 less
.
command > /tmp/x &
less +F /tmp/x; kill %; rm /tmp/x
이 작업 less
만 수행 할 수있는 옵션이 없습니다 . 그러나 나는 그것이 유용 할 것이라고 인정한다.
답변
파이프 입력 (파일과 유사)을 덜 따라갈 수 있습니까 (F를 누름)?
예, 버전 474부터 시작합니다. 그러나 현재이 기능과 관련하여 남아있는 문제가 하나 있으므로 아직 모든 버전의 릴리스 노트에 언급되지 않았습니다. 다음은 less의 관리자 인 Mark Nudelman의 의견입니다.
파이프의 F 명령과 관련하여 474 미만으로 고정됩니다. EOF를 찾는 대신 F 명령은 버퍼링 된 입력의 끝을 찾아서 읽기를 시작합니다. 그러나 CTRL-C를 눌러 F 명령을 중지하면 출력을 생성하는 프로세스가 종료되므로 실제로 사용할 수 없습니다. 어떻게 고칠 지 잘 모르겠습니다.
이 문제가 해결 될 때까지 쉘 기능을 사용하여 해결할 수 있습니다. 내보기 대답 에 거기 파이프에 다른 프로세스를 중단없이 출구 방법 “덜”추적 모드? 자세한 내용은 질문하십시오.
참고로, F 파이프 작동하지의 문제는 알려진 목록에 참조 번호 (300)가 버그 와라는 제목 은 F 명령이 파이프로 연결된 입력 작업을하지 않습니다.
G (종료)에 대한 관련 설명이 있습니다. 직접 배관을 줄이면 작동하지 않습니다.
버전 466부터 작동합니다. 이 버전의 릴리스 정보 에서 인용 :
새로운 명령 ESC-G가 파이프에서 현재 버퍼링 된 데이터의 끝으로 이동
답변
적은 매뉴얼 페이지에서
[Keyboard] COMMANDS [...]
F Scroll forward, and keep trying to read when the end of file is reached. Normally this command would be used when already
at the end of the file. It is a way to monitor the tail of a file which is growing while it is being viewed. (The behav‐
ior is similar to the "tail -f" command.)
그래서 이것은 작동해야하며 실제로 저에게 효과적입니다.