vendredi 2 janvier 2015

Bash several and in if

Hi I have a csv file with dates like this which I want to parse with bash and check against todays date.



12-Jan-2015


Checking only day and month works good



DAT=$(date '+%d %b %Y')
DAY=${DAT:0:2}
MON=$(echo ${DAT:3:3} | awk '{print toupper("$0");}')
YEAR=${DAT:6:5}

while IFS=",-" read name day month year
do
day=$(printf "%02d\n" "$day")
month=$(echo "$month" | awk '{print toupper($0);}')
year=$(printf "%04d\n" "$year")
if [ "$day" -eq "$DAY" ] && [ "$month" = "$MON" ]; then
echo "$name";
fi
done < $SNAPDB > $SNAPTMPDB


but when I try to also check the year



if [ "$day" -eq "$DAY" ] && [ "$month" = "$MON" ] && [ "$year" -eq "$YEAR" ]; then


Script ends with an error: line 119: 2015: command not found


I´ve by now tried several writings like [[ … ]] -a and so on. but nothing did work.


Thanks for help!


Aucun commentaire:

Enregistrer un commentaire