#!/bin/bash # 5x4 ## VxH RATIO # # ------------------------------------------------------------------- # TMPDIR=tmp ; rm $TMPDIR/*.* ORDER=$TMPDIR/order.i # GIFDIR=i/non-free/gif GIFDIRFREE=i/free/gif GIFDIRNONFREE=i/non-free/gif ALLGIFSLIST=$TMPDIR/gifs.list # ls ${GIFDIRFREE}/*.gif ${GIFDIRNONFREE}/*.gif > $ALLGIFSLIST ls ${GIFDIRFREE}/*.gif > $ALLGIFSLIST # ------------------------------------------------------------------- # MAXVAR=10 RATIO=`sed -n '/VxH/p' $0 | \ sed -n '/sed/!p' |\ cut -d "#" -f 2 |\ shuf -n 1` VERT=`echo $RATIO | cut -d "x" -f 1` HORIZ=`echo $RATIO | cut -d "x" -f 2` LISTBASE=i/free/cols+rows/$VERT"x"$HORIZ for LISTID in `ls $LISTBASE | tail -10` do LISTDIR=${LISTBASE}/${LISTID} OUTPUTDIR=i/free/multilist/$VERT"x"$HORIZ/$LISTID mkdir $OUTPUTDIR ALREADYSELECTED=XXX for LIST in `ls $LISTDIR | sort -n | tac`; do BASELIST=$OUTPUTDIR/`basename $LIST` rm $BASELIST NOT=XXX for SUITABLE in `cat $LISTDIR/$LIST`; do echo $SUITABLE CONNECTS=_`echo $SUITABLE | rev | cut -d "_" -f 2-5 | rev`_ echo $CONNECTS MULTILIST=$OUTPUTDIR/${CONNECTS}_${RANDOM}.list echo $MULTILIST >> $BASELIST # --------------------------------------------- # CNT=0; while [ $CNT -lt $MAXVAR ] do echo $NOT # SELECT=`ls $GIFDIR/*.gif | \ # grep $CONNECTS | \ # egrep -v "XXX|$NOT" | \ # shuf -n 1` SELECT=`cat $ALLGIFSLIST | \ grep $CONNECTS | \ egrep -v "XXX|$ALREADYSELECTED" | \ egrep -v "XXX|$NOT" | \ shuf -n 1` FCNT=3 while [ ${SELECT}X = X ] do NOT=`echo $NOT | cut -d "|" -f 1,${FCNT}-100` # SELECT=`ls $GIFDIR/*.gif | \ # grep $CONNECTS | \ # egrep -v "XXX|$NOT" | \ # shuf -n 1` SELECT=`cat $ALLGIFSLIST | \ grep $CONNECTS | \ egrep -v "XXX|$NOT" | \ shuf -n 1` FCNT=`expr $FCNT + 1` echo "REDUCE FILTER: "$NOT echo done NOT="$NOT|`basename $SELECT | cut -c 1-3`" echo $SELECT echo $SELECT >> $MULTILIST ALREADYSELECTED="${ALREADYSELECTED}|"$SELECT echo $ALREADYSELECTED CNT=`expr $CNT + 1` done # --------------------------------------------- # cp $MULTILIST ${MULTILIST}.tmp VARIATION=`cat $MULTILIST | wc -l` while [ $VARIATION -le $MAXVAR ]; do cat ${MULTILIST}.tmp >> $MULTILIST VARIATION=`cat $MULTILIST | wc -l` done rm ${MULTILIST}.tmp done done done find i/free/multilist/5x4/ -mindepth 1 -type d > i/sets.list exit 0;