와일드카드를 통해 전달된 여러 파일에 다중 꼬리 필터링 적용

와일드카드를 통해 전달된 여러 파일에 다중 꼬리 필터링 적용

multitail맨페이지와 온라인 매뉴얼에 좋은 정규식 기반 필터링 메커니즘이 설명되어 있습니다. 두 소스 모두 스위치를 사용하여 특정 정규식과 일치하는 로그 행을 출력에서 ​​제외할 수 있음을 나타냅니다 -ev.

multitail -ev "ignorelinescontainingthis" /var/log/whatever.log -ev "alsoignorethis" /var/log/another.log

그러나 이는 와일드카드를 사용하여 전달된 많은 로그 파일을 필터링하는 데는 작동하지 않는 것 같습니다.

multitail -ev "thisdoesntwork" /var/log/myservice*.log

작동하게 하는 방법이 있나요?

분석 목적으로 스위치(정규식 일치 강조 표시)를 시도한 -ec결과 필터가 와일드카드 목록의 첫 번째 파일에만 적용되고 다른 파일에는 적용되지 않는 것으로 나타났습니다.

답변1

내 의견을 답변으로 바꿔보세요.

매뉴얼 페이지multitail이 옵션은 -e다음과 같이 정의됩니다.

-e 다음 정규 표현식을 사용하세요.문서.

따라서 정규식 필터는 바로 다음 파일에만 적용됩니다. Shell glob을 사용하면 확장된 파일 목록의 첫 번째 파일에만 필터가 적용됩니다.

모든 파일에 정규식 필터를 적용하려면 -E다음 옵션을 사용해야 합니다.

-E 다음 정규 표현식을 사용하세요.문서.

-v옵션은 지정된 정규식을 무효화하며 이러한 옵션에 대해 동일한 방식으로 작동해야 합니다.

관련 정보