일반 텍스트 로그 파일(myapp.log)에 로깅하는 애플리케이션이 있지만 각 로그 항목 끝에 개행 문자를 쓰지 않는 것 같습니다. 명령을 실행하면 tail -n 50 myapp.log
문자 그대로 수백 개의 "라인" 텍스트(로그 항목)를 받는 것과 같습니다 .
이 로그 파일은 약 1GB로 매우 크며 마지막 CR 및/또는 LF가 삽입된 지 얼마나 오래되었는지 아는 사람이 없습니다. 예를 들어, 마지막 2MB를 어떻게 확보할 수 있나요?
답변1
스위치 사용 -c
(2MB = 2 * 1024 * 1024 = 2097152바이트):
tail -c 2097152 myapp.log
감사해요피터 우저제안. 일부 tail 구현에서는 마지막 킬로바이트(k) 또는 메가바이트(m)를 인쇄하는 단위를 추가할 수 있습니다. 예를 들면 다음과 같습니다.
tail -c 2m myapp.log
그러나 이는 표준이 아니며(POSIX, UNIX(SUS) 또는 Linux(LSB)에서도) 이식성이 없습니다. 또한 "Mega"/"kilo"... 및 약어(M, k...)라는 용어는 의미가 불분명하므로(1000 대 1024) 이 구현 또는 해당 구현이 무엇을 tail
의미하는지 보장할 수 없습니다 2m
(지원은 가능하지만). 현재 구현의 현재 버전은 1024 변형에서 작동하는 것으로 보입니다.