꼬리 -f를 grep과 결합 하시겠습니까?


26

안녕하세요. 계속 로그 파일을보고 싶지만 관련없는 것을보고 싶지 않습니다. "foobar"가있는 항목에만 관심이 있습니다.

그래서 내가 파일을 꼬리에 붙이고 있다면

 tail file | grep "foobar"

이제 -f 옵션을 추가 했으므로 원하는 항목 만 표시하는 방법이 있습니까? grep 또는 다른 기술을 사용합니까?


1
귀하의 답변이 이미 작성되어있는 것 같습니다 : stackoverflow.com/questions/5427483/…
uSlackr

1
xyr 답변이 문제에있는 것으로 보입니다.
JdeBP

답변:


41

당신은 거의 답을 썼습니다.

tail -f file.log | grep "foobar"

그게 다야.


1
와우, 당신 말이 맞아요, 나는 이것이 작동하지 않을 것이라고 생각합니다. 아직도 아닙니다. 명령이 실행을 마쳤을 때 파이핑이 발생하지 않습니까? 나는 이것이 그렇지 않다는 것을 보여줍니다. 출력이있을 때마다 발생합니다.
user893730

3
두 개의 프로그램을 동시에 시작하고 두 번째 프로그램 (grep)은 tail의 STDOUT이 닫히 자마자 종료됩니다. 그것은 파이프의 요점입니다, 데이터 스트리밍 :)
Ravachol

4
grep파이프의 마지막 줄 경우, 그 출력은 라인 당신의 필터링 된 출력 볼 수 있도록 버퍼링 tail -f라이브를하기보다는 지연. 여러 grep명령 을 사용하는 경우 출력이 파이프 된 명령에는 --line-buffered이 동작을 유지하기 위한 옵션 (GNU 또는 BSD grep 가정) 이 필요합니다 .
ghoti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.