1時間ごとに日付と値を解析するデータファイルがあります。したがって、今日は date=30 AUG 2012 および value=10 になります。次に、日付または値が変更された場合にのみ、この日付と値を含む新しいファイルを追加します。したがって、新しいファイルの最後の行を確認し、異なる場合は追加する必要があると思います。それを行うためのスクリプトを考案するのを手伝ってください。利用可能なcronがないので、無限ループで実行します。
ありがとう
tail -1 は、ファイルの最後の行を示します。
#!/bin/bash
# infinite loop
while true
do
my_file=test.txt
# get your date and value from where ever
my_date="30 AUG 2012"
my_value=10
lastval=`tail -1 $my_file | awk -F: '{print $1}'`
if [ "$lastval" != "$my_date" ] ; then
echo "$my_date:$my_value" >> $my_file
fi
# if the file is updated every hour, check more often than once per hour.
sleep 30m
done
current="$(tail -n 1 $DATA_FILE)" # Last line of data file
previous="$(tail -n 1 $OTHER_FILE)" # Last line of log file
if [ "$current" != "$previous" ]; then # If the last lines are different...
echo "$current" >> $OTHER_FILE # ... append the current data
fi