meplib / 00model / checkCandidates.sh @ master
Historique | Voir | Annoter | Télécharger (2,4 ko)
1 | 08aa5d9e | Serge Torres | #! /bin/sh |
---|---|---|---|
2 | 08aa5d9e | Serge Torres | # |
3 | 08aa5d9e | Serge Torres | # checkCandidates.sh: check a set of candidates with the infinite norm. |
4 | 08aa5d9e | Serge Torres | # |
5 | 08aa5d9e | Serge Torres | # It can be the first computed set (directy by GP) |
6 | 08aa5d9e | Serge Torres | # or a filtered set or even a file whose name is |
7 | 08aa5d9e | Serge Torres | # given on the command line. This last case has the priority. |
8 | 08aa5d9e | Serge Torres | # |
9 | 08aa5d9e | Serge Torres | SCRIPT_DIR=`dirname $0` |
10 | 08aa5d9e | Serge Torres | BIN_DIR=$SCRIPT_DIR/bin |
11 | 08aa5d9e | Serge Torres | CHECK_SOLUTIONS_PROGRAM=$BIN_DIR/checkSolutions-02.pl |
12 | 08aa5d9e | Serge Torres | ARGS_FOR_CHECK_SCRIPT=$SCRIPT_DIR/argsForCheck.sh |
13 | 08aa5d9e | Serge Torres | CANDIDATES_FILE=$SCRIPT_DIR/candidates.txt |
14 | 08aa5d9e | Serge Torres | FILTERED_CANDIDATES_FILE=$SCRIPT_DIR/filteredCandidates.txt |
15 | 08aa5d9e | Serge Torres | SORTED_SOLUTIONS_FILE=$SCRIPT_DIR/sortedSolutions.txt |
16 | 08aa5d9e | Serge Torres | HAS_CANDIDATES=0 |
17 | 08aa5d9e | Serge Torres | HAS_FILTERED_CANDIDATES=0 |
18 | 08aa5d9e | Serge Torres | FILE_FOR_TEST='' |
19 | 08aa5d9e | Serge Torres | CHOICE='' |
20 | 08aa5d9e | Serge Torres | # |
21 | 08aa5d9e | Serge Torres | if [ -n "$1" ] |
22 | 08aa5d9e | Serge Torres | then |
23 | 08aa5d9e | Serge Torres | if [ -e $1 -a -s $1 ] |
24 | 08aa5d9e | Serge Torres | then |
25 | 08aa5d9e | Serge Torres | FILE_FOR_TEST=$1 |
26 | 08aa5d9e | Serge Torres | $BIN_DIR/checkSolutions-02.pl `$ARGS_FOR_CHECK_SCRIPT $FILE_FOR_TEST` | tee $SORTED_SOLUTIONS_FILE |
27 | 08aa5d9e | Serge Torres | exit $? |
28 | 08aa5d9e | Serge Torres | else |
29 | 08aa5d9e | Serge Torres | echo |
30 | 08aa5d9e | Serge Torres | echo |
31 | 08aa5d9e | Serge Torres | echo `basename $0`": \"$1\" is not a valid file. " |
32 | 08aa5d9e | Serge Torres | echo "Aborting the program!" |
33 | 08aa5d9e | Serge Torres | echo |
34 | 08aa5d9e | Serge Torres | echo |
35 | 08aa5d9e | Serge Torres | exit 1 |
36 | 08aa5d9e | Serge Torres | fi |
37 | 08aa5d9e | Serge Torres | fi |
38 | 08aa5d9e | Serge Torres | # |
39 | 08aa5d9e | Serge Torres | if [ -e $CANDIDATES_FILE -a -s $CANDIDATES_FILE ] |
40 | 08aa5d9e | Serge Torres | then |
41 | 08aa5d9e | Serge Torres | HAS_CANDIDATES=1 |
42 | 08aa5d9e | Serge Torres | fi |
43 | 08aa5d9e | Serge Torres | if [ -e $FILTERED_CANDIDATES_FILE -a -s $FILTERED_CANDIDATES_FILE ] |
44 | 08aa5d9e | Serge Torres | then |
45 | 08aa5d9e | Serge Torres | HAS_FILTERED_CANDIDATES=1 |
46 | 08aa5d9e | Serge Torres | fi |
47 | 08aa5d9e | Serge Torres | # |
48 | 08aa5d9e | Serge Torres | if [ $HAS_CANDIDATES -eq 1 ] |
49 | 08aa5d9e | Serge Torres | then |
50 | 08aa5d9e | Serge Torres | if [ $HAS_FILTERED_CANDIDATES -eq 1 ] |
51 | 08aa5d9e | Serge Torres | then |
52 | 08aa5d9e | Serge Torres | while [ "x$CHOICE" != "x1" -a "x$CHOICE" != "x2" ] |
53 | 08aa5d9e | Serge Torres | do |
54 | 08aa5d9e | Serge Torres | echo |
55 | 08aa5d9e | Serge Torres | echo |
56 | 08aa5d9e | Serge Torres | echo You can test one of these two files: |
57 | 08aa5d9e | Serge Torres | echo - `basename $CANDIDATES_FILE`" (1)" |
58 | 08aa5d9e | Serge Torres | echo - `basename $FILTERED_CANDIDATES_FILE`" (2)" |
59 | 08aa5d9e | Serge Torres | echo |
60 | 08aa5d9e | Serge Torres | echo -n "Make up your choice: " |
61 | 08aa5d9e | Serge Torres | read CHOICE |
62 | 08aa5d9e | Serge Torres | done |
63 | 08aa5d9e | Serge Torres | echo |
64 | 08aa5d9e | Serge Torres | echo |
65 | 08aa5d9e | Serge Torres | case $CHOICE in |
66 | 08aa5d9e | Serge Torres | "1") |
67 | 08aa5d9e | Serge Torres | FILE_FOR_TEST=$CANDIDATES_FILE |
68 | 08aa5d9e | Serge Torres | ;; |
69 | 08aa5d9e | Serge Torres | "2") |
70 | 08aa5d9e | Serge Torres | FILE_FOR_TEST=$FILTERED_CANDIDATES_FILE |
71 | 08aa5d9e | Serge Torres | ;; |
72 | 08aa5d9e | Serge Torres | esac |
73 | 08aa5d9e | Serge Torres | else # No filtered candidates file |
74 | 08aa5d9e | Serge Torres | FILE_FOR_TEST=$CANDIDATES_FILE |
75 | 08aa5d9e | Serge Torres | fi |
76 | 08aa5d9e | Serge Torres | else # No candidates file (may be a filtered candidates files?). |
77 | 08aa5d9e | Serge Torres | if [ "$HAS_FILTERED_CANDIDATES" -eq 1 ] |
78 | 08aa5d9e | Serge Torres | then |
79 | 08aa5d9e | Serge Torres | FILE_FOR_TEST=$FILTERED_CANDIDATES_FILE |
80 | 08aa5d9e | Serge Torres | else |
81 | 08aa5d9e | Serge Torres | echo |
82 | 08aa5d9e | Serge Torres | echo |
83 | 08aa5d9e | Serge Torres | echo `basename $O`": there is no available candidates files." |
84 | 08aa5d9e | Serge Torres | echo "You may, for instance, run the \"computeCandidates.sh\"" |
85 | 08aa5d9e | Serge Torres | echo "script to create a new one". |
86 | 08aa5d9e | Serge Torres | echo "Aborting the program!" |
87 | 08aa5d9e | Serge Torres | exit 1 |
88 | 08aa5d9e | Serge Torres | echo |
89 | 08aa5d9e | Serge Torres | echo |
90 | 08aa5d9e | Serge Torres | fi |
91 | 08aa5d9e | Serge Torres | fi |
92 | 08aa5d9e | Serge Torres | $BIN_DIR/checkSolutions-02.pl `$ARGS_FOR_CHECK_SCRIPT $FILE_FOR_TEST` | tee $SORTED_SOLUTIONS_FILE |