#!/bin/bash createTableTop10Bottom10() { echo "\begin{table}" echo "\begin{scriptsize}" echo "\begin{center}" #Top 10 echo "\begin{tabular}{|l|l|l|c|c|c|}" echo "\hline" echo "\multicolumn{6}{|c|}{Top 10} \\\ " echo "\hline" echo "Column Pruner & Row Pruner & Learner & Ties & Wins & Losses \\\ " echo "\hline" #This sorts based on min losses (field 4) and max wins (field 3). However, max wins is achieved using min ties (field 2). gawk 'BEGIN{FS=OFS=","} NR>1{print $1,$2,$3,$4 " \\\\"}' $1 | sort -t, -k 4 -k 2 -n | sed 's/|/ \& /g' | sed 's/,/ \& /g' | sed 's/-Median/Median/g' | sed 's/-Mean/Mean/g' | sed 's/CocominWrapper/Cocomin/g' | head -10 echo "\hline" echo "\end{tabular}" #Bottom 10 echo "\begin{tabular}{|l|l|l|c|c|c|}" echo "\hline" echo "\multicolumn{6}{|c|}{Bottom 10} \\\ " echo "\hline" echo "Column Pruner & Row Pruner & Learner & Ties & Wins & Losses \\\ " echo "\hline" #This sorts based on min losses (field 4) and max wins (field 3). However, max wins is achieved using min ties (field 2). gawk 'BEGIN{FS=OFS=","} NR>1{print $1,$2,$3,$4 " \\\\"}' $1 | sort -t, -k 4 -k 2 -n | sed 's/|/ \& /g' | sed 's/,/ \& /g' | sed 's/-Median/Median/g' | sed 's/-Mean/Mean/g' | sed 's/CocominWrapper/Cocomin/g' | tail -10 echo "\hline" echo "\end{tabular}" echo "\end{center}" echo "\end{scriptsize}" echo "\caption{Top 10 and bottom 10 methods for \$$2\$ using $3 evaluation criterion.}" echo "\label{table:top10bottom10Dataset$2-$3}" echo "\end{table}" } generateTop10Bottom10() { echo "" > temp_$1"_"$3; for file in mwu_$3"_"$1* do gawk 'BEGIN{FS = OFS = ","} NR>1{print $0}' $file >> temp_$1"_"$3; done gawk 'BEGIN{FS=OFS=","}NR>1{keys[$1]=1;ties[$1]+=$2;wins[$1]+=$3;losses[$1]+=$4;}END{for(key in keys) print key,ties[key],wins[key],losses[key];}' temp_$1"_"$3 > results_$1"_"$3; createTableTop10Bottom10 results_$1"_"$3 $2 $3 > top10bottom10-$1-$3.tex rm temp_$1"_"$3 results_$1"_"$3; } generateTop10Bottom10 "coc81" "COC81" "AR"; generateTop10Bottom10 "coc81" "COC81" "MER"; generateTop10Bottom10 "coc81" "COC81" "MRE"; generateTop10Bottom10 "nasa93" "NASA93" "AR"; generateTop10Bottom10 "nasa93" "NASA93" "MER"; generateTop10Bottom10 "nasa93" "NASA93" "MRE";