我有一个数据文件,我每隔一小时解析一次日期和值。所以今天我的日期= 2012年8月30日,价值= 10。然后,我想仅在更改日期或值时附加具有此日期和值的新文件。所以我猜我需要检查新文件的最后一行,如果它不同,请追加。请帮我设计脚本来做到这一点。我没有cron可用,所以我将在无限循环中运行它。
谢谢
答案 0 :(得分:2)
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
答案 1 :(得分:0)
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