grep 出力の各行が表示された後にコマンドを実行します。

grep 出力の各行が表示された後にコマンドを実行します。

システムログを継続的に監視し、正規表現パターンが表示されたら、いくつかの計算を実行し、コマンドから出力をgrepして、一致する新しい行を監視し続けたいと思います。これを達成するための最良の方法は、tail -fこの出力を使用してgrep

ここで何が使えるかというアイデアはありますか?

ベストアンサー1

あなたが望むのは、しばらく移動して読むことです。単に発生回数を計算する簡単な例:

#!/bin/bash
a=0
tail -f input.txt | grep 'pattern' | while read line ; do
    a=$((a+1))
    echo -e "found match in $line , occurrence no. $a"
done

これをdd if=/dev/random of=file参考にしてみました。トリガーとして「パターン」だけが必要で、前の行は必要ないとしましょう。

おすすめ記事