编辑代码

#!/bin/bash
cat > game.txt << END_TEXT
 Game 1 : 4 green, 7 blue ; 2 blue, 4 red ; 5 blue, 2 green, 2 red ; 1 green,3 red, 9 blue ; 3 green, 9 blue ; 7 green, 2 blue, 2 red
 Game 2 : 1 blue, 2 red ; 1 green, 2 blue, 1 red ; 1 red, 5 green ; 3 red, 2 blue, 8 green ; 3 blue, 2 red, 4 green ; 2 blue, 4 green, 3 red
 Game 3 : 7 red, 7 blue, 9 green ; 15 green, 4 red, 8 blue ; 3 green, 12 blue,6 red
 Game 4 : 4 blue, 11 green, 6 red ; 4 green, 2 red ; 12 red, 1 blue, 3 green
 Game 5 : 10 green, 4 blue, 9 red ; 3 green, 15 blue, 11 red ; 15 blue, 1 green, 2 red ; 8 red, 8 blue, 5 green
 Game 6 : 5 green, 19 red ; 6 green, 13 red, 2 blue ; 2 blue, 16 red, 4 green ;13 red, 9 blue, 5 green
 Game 7 : 1 blue, 6 red, 6 green ; 7 blue, 4 red ; 6 green, 1 red, 11 blue ; 3 green, 4 blue, 4 red ; 6 green, 13 blue, 11 red
 Game 8 : 8 green, 2 blue ; 20 green, 1 red ; 1 blue, 6 red, 6 green ; 9 green
 Game 9 : 5 red ; 4 green, 3 red, 1 blue ; 1 blue ; 6 red, 1 blue, 9 green
 Game 10 : 2 green, 3 red ; 18 blue, 20 green, 9 red ; 7 red, 9 blue, 17 green
END_TEXT

awk '{$1="";$2="";$4="";print $0}'  game.txt > newgame.txt
sed -i 's/;/ /g' newgame.txt
sed -i 's/,/ /g' newgame.txt
sed -i 's/  */ /g' newgame.txt
cat newgame.txt | while read line
do
filtre=$(echo "$line" | awk '{
for(i=2;i<=NF;i=i+2){
    color=$(i+1)
    filtre=1
    if(color=="green"){
        if($i>14){
            filtre=0
            break
        }
    }else if(color=="bleu"){
        if($i>13){
            filtre=0
            break
        }
    }else if(color=="red"){
        if($i>12){
            filtre=0
            break
        }
    }
}
print filtre
}')
line_num=$(echo "$line"| awk '{print $1}')
if(($filtre));then
echo "Ce jeu $line_num remplit les conditions"
else
echo "Ce jeu $line_num ne remplit pas les conditions"
fi
done