![zsh는 번호가 매겨진 로그 파일을 역순으로 가져옵니다.](https://linux55.com/image/181724/zsh%EB%8A%94%20%EB%B2%88%ED%98%B8%EA%B0%80%20%EB%A7%A4%EA%B2%A8%EC%A7%84%20%EB%A1%9C%EA%B7%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%AD%EC%88%9C%EC%9C%BC%EB%A1%9C%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
x.log
파일이 임계값 크기에 도달할 때까지 가장 최근 쿼리가 포함되도록 번호가 매겨진 롤링 로그 파일이 있습니다. 그런 x.log.1
다음 이름이 바뀌고 x.log
새 작업이 시작됩니다.
나는 일부 정보를 추출하기 위해 이러한 파일을 시간순으로 살펴보는 기본 파서를 작성하고 있습니다. 이는 파일을 역순으로 읽어야 함을 의미합니다. 따라서 파일부터 시작하여 x.log.10
한 줄씩 처리하는 방식 으로 최신 로그 항목이 있는 파일을 x.log.9
처리하게 됩니다 .x.log
이 목적을 위한 작은 Python 스크립트가 있습니다. zsh CLI에서 명령을 호출하는 방법을 알고 싶습니다. 중괄호 확장을 사용할 수 있다는 것을 알고 있지만 x.log.{10..1}
당연히 최신 파일은 포함되지 않습니다.x.log
어떤 아이디어가 있나요?
답변1
Zsh는글로벌 예선정렬 순서를 수정하는 데 사용할 수 있습니다. 예를 들어 다음을 사용할 수 있습니다.
print -rl x.log*(nOn)
문서 인쇄N숫자 전역 플래그 활성화( n
),산소구독자N나( On
). 이것은 x.log
내 로케일 끝에 숫자가 아닌 문자를 넣는 것 같습니다 .
또는 이름의 숫자 순서에 의존하는 대신 파일의 실제 이름을 사용하십시오.쌀수정 횟수:
print -rl x.log*(Om)
N
(null glob) 한정자를 추가할 수도 있습니다. man zshexpn
자세히보다.