我有一个数据文件,我每小时解析一次日期和值。所以今天我的日期 = 2012 年 8 月 30 日,价值 = 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