0

我有一个数据文件,我每小时解析一次日期和值。所以今天我的日期 = 2012 年 8 月 30 日,价值 = 10。然后,我想仅在日期或值更改时才使用此日期和值附加新文件。所以我猜我需要检查新文件的最后一行,如果不同,追加。请帮我设计脚本来做到这一点。我没有可用的 cron,所以我将在无限循环中运行它。

谢谢

4

2 回答 2

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
于 2012-08-30T13:21:33.887 回答
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
于 2012-08-30T13:09:59.753 回答