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
다음에 대해 다음 정규식을 사용하십시오.파일.
따라서 정규식 필터는 바로 다음 파일에만 적용됩니다. 쉘 글로브를 사용할 때 필터는 확장된 파일 목록의 첫 번째 파일에만 적용됩니다.
모든 파일에 정규식 필터를 적용하려면 다음 -E
옵션을 대신 사용해야 합니다.
-E
다음에 대해 다음 정규식을 사용하십시오.파일.
-v
지정된 정규식을 부정하는 옵션은 이러한 옵션 중 하나에 대해 동일한 방식으로 작동해야 합니다 .