2010-06-25 5 views
3

로그 파일을 역순으로 읽어야하는 PHP 스크립트를 작성 중입니다.콘텐츠를 압축하는 tac 버전이 있습니까? (zcat과 같이)

나는 현재 다음을 수행 :이 파일의 라인의 순서를 전환하고 내가 임시 파일에서 읽을

<?php 
shell_exec("tac logfile.log > tmpfile.log"); 
$rFile = fopen("tmpfile.log", "r"); 
while (!feof($rFile)) 
{ 
    //logic 
} 
unlink("tmpfile.log"); 
?> 

이 잘 작동합니다. 그러나

는, 로그 파일은 대규모 얻기 위하여려고하고 나는 긴 역사를 계속해야합니다, 그래서 나는 GZIP 파일까지 할 필요가있다. 나는 'zcat'에 대해 알았고 위의 코드에 곧바로 연결될 수있는 'ztac'이 있기를 바랬습니다 ... 그러나 나는 그것을 찾을 수 없었습니다.

가장 쉬운/가장 좋은 방법은 임시 파일이 많지 않고 서버 명령이 많이 필요하지 않다는 것입니다.

답변

6

내가

zcat logfile.log.gz | tac > tmpfile.log 

의 압축을 풉니 다 생각하고 두 단계로 라인을 반대하고있다.

+1

굉장, 그 일을 할거야 :) 감사합니다 힙! –

+1

그건 유닉스 철학입니다. 각 툴은 하나의 일을하고, 여러분이 이펙트를 결합해야 할 때, 여러분은 그것들을 하나로 연결합니다. 다행입니다! –

관련 문제