- PR -

ログ追記で音を出す

1
投稿者投稿内容
ronron
会議室デビュー日: 2003/05/20
投稿数: 1
投稿日時: 2003-05-20 01:07
tail -f file.log などとしてログの最終行を表示しておいて、
新しい行が追加されたのをトリガーとしてbellを鳴らしたり、追加された行のみ
パイプで取り出したいのですが、どのようにすればよいのでしょうか?
tail -f file.log | grep target-word などとして、ログから対象の語句が
ある場合表示したいとした時も、tailの部分で止まっているように見受けられるのですが
何か良い方法はありませんか?
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-05-20 11:37
こんな感じでいかがでしょう?

#!/bin/sh
exec 3>&0
tail -f -n 0 file.log|grep target-word 1>&3 &
while read line;
do
echo $line
echo -n ^G >/dev/null
done <&3

ちなみに、^Gは、viで、Ctrl+V Ctrl+Gで入力します
引用:

tailの部分で止まっているように見受けられる


Windowsでは確か前のプロセスが終了しないと、パイプに出力が渡らない
という仕様だったと思います。Linux使ってるなら、このようなことは無い
はずですが。
まず、環境を教えてください。

[ メッセージ編集済み 編集者: t-wata 編集日時 2003-05-20 11:40 ]
1

スキルアップ/キャリアアップ(JOB@IT)