답변:
sed에 대한 문서에서 찾을 수있는 마지막 100 줄을 인쇄하는 sed 스크립트를보십시오 ( https://www.gnu.org/software/sed/manual/sed.html#tail ).
$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p
$ sed -nf sed.cmd logfilename
나를 위해 그것은 당신의 스크립트보다 훨씬 어렵습니다.
tail -n 100 logfilename
훨씬 간단합니다. 그리고 그것은 매우 효율적이며, 필요하지 않은 경우 모든 파일을 읽을 수는 없습니다. strace를 보고서에 대한 내 대답을 참조하십시오 tail ./huge-file
: /unix/102905/does-tail-read-the-whole-file/102910#102910
"tail"은 파일의 마지막 부분을 표시하는 명령으로, 사용 가능한 적절한 스위치를 사용하면보다 구체적인 출력을 얻을 수 있습니다. 가장 많이 사용되는 스위치는 -n 및 -f입니다.
개요
꼬리 [-F | -f | -r] [-q] [-b 번호 | -c 번호 | -n 숫자] [파일 ...]
여기
-n number : 위치는 숫자 라인입니다.
-f : -f 옵션은 파일 끝에 도달했을 때 tail이 멈추지 않고 입력에 추가 데이터가 추가 될 때까지 기다리게합니다. 표준 입력이 파이프 인 경우 -f 옵션은 무시되지만 FIFO 인 경우에는 무시됩니다.
마지막 100 줄 로그 검색
To get last static 100 lines
tail -n 100 <file path>
To get real time last 100 lines
tail -f -n 100 <file path>
나는 이것이 매우 오래되었다는 것을 알고 있지만 그것이 도움이 될 수있는 사람에게는.
less +F my_log_file.log
그것은 기본적이며 더 적은 일로 더 많은 강력한 일을 할 수 있습니다. 일단 로그를보기 시작하면 검색, 행 번호로 이동, 패턴 검색 등을 수행 할 수 있으며 대용량 파일의 경우 더 빠릅니다.
로그에 대한 vim과 같습니다.
원본이 적지 않은 문서 : https://linux.die.net/man/1/less
적은 치트 시트 : https://gist.github.com/glnds/8862214