2011-01-28 2 views
4

이 작업을 수행 할 수 있는지 확신 할 수 없지만 Linux의 경우 제한 사항을 알 수 없습니다. 그것은 내가 원하는 걸 얻을 수linux tail 명령

\#tail -f apachelog.access-log 

,하지만 난 그것을 반환 무엇을 좁힐합니다 :

나는 아파치 로그를 미행하고 있습니다. 다음은 일반적인 행입니다.

2011-01-28T04:20:59-07:00 SERVER03 apache: 10.0.0.1 - - [28/Jan/2011:04:20:59 +0000] "POST /a/ HTTP/1.1" 200 4461 "http://somesite.net/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13" 

내가 꼬리를 걸러 낼 수 있습니까? 가끔은 추천 사이트 만보고 싶습니다. 그리고 다른 시간에 2 ~ 3 개의 다른 항목을보고 싶습니다.

답변

2

당신은 아주 쉽게 실행할 수 있습니다

tail -f apachelog.access-log | grep SERVER03 

것은 단지 당신에게 문자열 SERVER03를 포함하는 라인을 줄 것이다.

1

시작하려면 꼬리를 사용하십시오. 나는 보통하지만 less를 사용한다 무엇

$ tail -f logfile | grep 'PATTERN' | less -f 

후 콜론 프롬프트를 얻을^C를 누르십시오. 검색이나 뭐든지. 그런 다음 'F'를 입력하면 'follow'모드로 돌아 가지 않습니다.

+0

이 일련의 명령을 제대로 작동시키지 못하는 것 같습니다. 나는 내가^C를 칠 때까지 기대했던 결과물을 보았다. 이 시점에서 나는 내가 덜하다고 말할 수 있고 물건을 찾거나/탐색 할 수 있습니다. 그러나 나는 "따라 가기"모드로 돌아갈 수없는 것 같습니다. 'F'는 추종 모드에 덜 넣지만 터미널은 로그 파일의 새로운 입력으로 업데이트하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다. – Craige

+0

불행히도^C는 꼬리 명령을 죽이는 것으로 보이므로 결과가 업데이트되지 않습니다. – Holloway

1

난 당신이 awk, sed, 또는 perl 통해 tail -f 출력을 파이프 고려해야합니다, 당신은 라이브 로그의 한 열을 보려는 경우 우리가 잘라 내기 명령

0

에 의해 그것을 할 수 있다고 생각합니다. 이 모든 것보다 unix.stackexchange.com에 관한 질문에 더 적합 할 것입니다.