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