ワイルドカードを介して渡された複数のファイルにマルチテールフィルタリングを適用する

ワイルドカードを介して渡された複数のファイルにマルチテールフィルタリングを適用する

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オプションは指定された正規表現を無効にし、これらのオプションに対して同じ方法で動作する必要があります。

おすすめ記事