일반 텍스트 로그 파일 (myapp.log)에 로깅하는 응용 프로그램이 있지만 각 로그 항목 끝에 줄 바꿈 문자를 쓰지 않는 것 같습니다. 내가 명령을 실행하면 tail -n 50 myapp.log
실제로 수백 줄의 텍스트 (로그 항목)를받습니다.
이 로그 파일은 대략 1GB로 매우 크며, 마지막 CR 및 / 또는 LF가 얼마나 오래 전에 삽입되었는지 알고 있습니다. 예를 들어 마지막 2MB를 어떻게 알 수 있습니까?
답변
-c
스위치 사용 (2MB = 2 * 1024 * 1024 = 2097152 바이트) :
tail -c 2097152 myapp.log
제안을 해준 Petr Uzel 에게 감사합니다 . 일부 테일 구현에서는 다음과 같이 마지막 킬로바이트 (k) 또는 메가 바이트 (m)를 인쇄하는 단위를 추가 할 수 있습니다.
tail -c 2m myapp.log
그러나 POSIX, UNIX (SUS) 또는 Linux (LSB) 중 어느 것도 표준이 아니며 이식성이 없습니다. 또한 용어 “Mega”/ “kilo”… 및 해당 약어 (M, k …)는 모호한 의미 (1000 대 1024)를 갖기 때문에이 구현의 tail
의미가 무엇인지에 대한 보장이 많지 않습니다. 2m
(현재 구현의 현재 버전은 1024 변형을 지원하는 것으로 보입니다).