2016-04-06 6 views
0

毎分実行するスクリプトがあり、現在の分がテキストファイルから割り当てられる変数に含まれているかどうかをチェックしたいと思います。現在の分を取得し、その分がファイル内にあるかどうかをチェックする方法

clip_time =(< /home/project/data/clip_time.cfg)

clip_time.cfgは、次のようになりますテキストファイルです: 00,05,10,15,20,25,30、 "date '+%M'"の現在の分が変数にある場合、 "45"と答えた場合は、 これを実行します。そうでない場合は、doこの

分が45で、46,47,48,49ではトリガーされませんが、50でトリガーします。

つまり、毎分スクリプトを実行し、分が変数に含まれている場合は30秒間スリープしないで続行してください。

変数は必ずしも5分ごとである必要はありません。それは、この

minute=$(date +"%M"); 

が次に検索しない変数に現在の分を保存するには05、08、11、22、35

答えて

0

一つの方法がありますclip_time文字列に現在の分が部分文字列として含まれていることを確認してください。

clip_time="$(cat /home/project/data/clip_time.cfg)" 
minute="$(date +%M)" 

# The 2 asterisks make this a glob match, which should find that 
# minute in the list, if it's in there 
if [[ "$clip_time" == *"$minute"* ]]; then 
    echo "$minute is in the list" 
else 
    echo "$minute is NOT in the list" 
fi 
0

あなたがMAKできるのgrepのマニュアルページがあります一緒にこのようなgrepのと日付の電子使用:単語の境界と

grep "\b`date "+%M"`\b" test 

と、このようにしても、0または1を返すように-qフラグを追加することができます。それを行うには

grep -q "\b`date "+%M"`\b" test 
関連する問題