在下面的数据中,第3列代表订阅日期,最后一列代表直到今天的总天数(包括订阅天数和总天数)。
'919123456789','DATA','20180919','20181011','Status_Subscribed','23'
'919999999999','DATA','20180924','20181011','Status_Subscribed','18'
我需要根据第3列和今天的日期来计算天数后,找出最后一列中是否有不正确的数据。
请协助。
答案 0 :(得分:1)
尝试使用strftime函数(GNU awk,而不是posix一个)
i
答案 1 :(得分:0)
使用date
程序对bash使用另一种方法:
today=$(date "+%F")
while read -r line; do
IFS="," read -r x x d x x t <<<$line;
date=$(date -d "${d//\'/} + ${t//\'/} days" "+%F")
[[ "$date" != "$today" ]] && echo "Bad line: ${line}"
done