종료되지 않는 '헤드'에 대한 대안?


13

첫 n 줄을 인쇄 할 유틸리티가 필요하지만 계속 실행하여 나머지 줄을 빨아들이지만 인쇄하지는 않습니다. 나는 계속 실행 해야하는 프로세스의 출력으로 터미널을 압도하지 않기 위해 사용합니다 (결과를 파일에 씁니다).

내가 할 수 있다고 생각 process | {head -n 100; cat > /dev/null}했지만 더 우아한 것이 있습니까?


2
프로세스는 머릿속에서 계속되며 더 이상 터미널에 인쇄되지 않습니다.
123

7
실제로 어떤 문제 를 해결하려고합니까?
사토 카츠라

2
당신은 그들을 빨아 무엇을 의미합니까? 헤드 투 파이프 만하면 나머지 출력이 사라집니다.
Julie Pelletier

7
@JuliePelletier와 stdout은 닫히고 잘 작성된 프로그램 (stdout에만 쓰는 프로그램)은이를 알아 차리고 일찍 종료됩니다.
cas

@castrap '' PIPE
사토 카츠라

답변:


22

처음 100 개 (또는 그 밖의) 줄만 인쇄 하는 process동안 출력을 "빨리"계속하려면 :

process | awk 'NR<=100'

또는:

process | sed -n '1,100p'

13
나는 보통 그냥 사용한다... | tee /dev/null | head ...
David Schwartz

2
@DavidSchwartz yep-내가하는 일입니다. 파일의 모든 출력을 덤프하고 나중에 검사 할 수 있으므로 훨씬 더 바람직합니다. 언제 필요할지 알 수 없습니다. 최악의 경우 파일을 가끔 덮어 쓰는 경우가 있습니다.
VLAZ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.