bashスクリプトでRSSフィードの新しいエントリを表示するには?

bashスクリプトでRSSフィードの新しいエントリを表示するには?

ハドソンciサーバーでRSSフィードを見る必要があります。新しいアイテムが利用可能になるたびに呼び出して音を再生したいと思います#>play sound.wav

RSSフィードを見て新しいアイテムが表示されるたびにコマンドを実行できるツールを知っている人はいますか?

見てみましたが、rsstail最新のアイテムではなくフィードのすべてのアイテムをインポートするか、最後の検索以降の新しいアイテムのみをインポートします。

答え1

試してみることができますニュースボイト外部コマンドを実行するオプションがあります(参照:notify-program ドキュメントから)。

ドックカスタマイズ可能な項目もあります。フック、一見すると、全体の構成システムは少し複雑に見えますが。

+shell を使用すると、rsstail外部コマンドを呼び出すこともできます。すでに見つけたものから始めてください。

rsstail -i 3 -u example.com/rss.xml -n 0

出力をwhile readループにパイプします。

rsstail -i 3 -u example.com/rss.xml -n 0 | while read line
  do
    aplay /some/sound/file.wav
    echo "$line"
  done

答え2

解決策は次のとおりです。

rsstail -i 3 -u example.com/rss.xml -n 0 | while read x ; do play fail.ogg ; done

したがって、フィードに新しいトピックが投稿されるたびにサウンドが再生されます。ゲームはsoxパッケージで提供されます。

答え3

あなたは試すことができます:

#!/bin/bash
last=""
while true
do
    now="$(curl http://yourdomain/feed.rss 2> /dev/null | grep pubDate | head -1)"
    test "$last" != "$now" && play mysound.wav
    last="$now"
    sleep 1m
done

関連情報