1 #!/u/bin/bish
  2 
  3 [ $# -lt 1 ] && exit 2
  4 
  5 N=$# L=11
  6 set -f
  7 set anz:015 datei:.100 nam:.250 dir:.250 DirNam:.400
  8 set Buf:' '$((800*N*L))
  9 DirNam=
 10 
 11 Err()  { print -u2 "$1"; exit 1; }
 12 
 13 for dir in $*
 14 do
 15    [ -d "$dir" ] || Err "Kein Verzeichnis: '$dir'"
 16    expr "$dir" :nam '%([^/]%{1,}%)$'
 17    DirNam="$DirNam$dir $nam "
 18 done
 19 
 20 for 2 dir - in $DirNam
 21 do
 22    list -dc "$dir" > /dev/null
 23    [ $. -ne 15 ] && Err "Keine 15 Verzeichnisse vorhanden!"
 24    list -fc "$dir" > /dev/null
 25    [ $. -ne  2 ] && Err "Keine 2 Plain-Dateien vorhanden!"
 26    anz=0
 27    for nam in $( list -f "$dir" )
 28    do
 29       [ "$nam" = "freq.txt" ] && let "anz+=1"
 30       [ "$nam" = "finalAnalysisReport.txt" ] && let "anz+=2"
 31    done
 32    [ anz -ne 3 ] && Err "Unerwarteter Name von Datei.txt!"
 33    datei="$dir/finalAnalysisReport.txt"
 34    [ -s "$datei" ] || Err "Datei fehlt oder leer: '$datei'"
 35    datei="$dir/freq.txt"
 36    [ -s "$datei" ] || Err "Datei fehlt oder leer: '$datei'"
 37    for nam in $( list -d "$dir" )
 38    do
 39       datei="$dir/$nam/results.txt"
 40       [ -s "$datei" ] || Err "Datei fehlt oder leer: '$datei'"
 41       datei="$dir/$nam/stats.txt"
 42       [ -s "$datei" ] || Err "Datei fehlt oder leer: '$datei'"
 43    done
 44    td=$( list -d "$dir" | sortl )
 45    if ifset -s TestDirs
 46    then  cmpv td TestDirs || Err "Test-Verzeichnisse ungleich!"
 47    else  TestDirs="$td"
 48    fi
 49 done
 50 
 51 print -u2 "$DirNam"
 52 
 53 local pval:020 nval:010 add:010 pos:010 step:010
 54 let "step=N*L"
 55 
 56 for td in $TestDirs
 57 do
 58    print -u2 "$td"
 59    print -u1 "%n<b>$td</b>%n"
 60    add=0 nval=0
 61    for 2 dir nam in $DirNam
 62    do
 63       print -u2 "%t$nam"
 64       pos=0
 65       for pval in $( cat "$dir/$td/results.txt" )
 66       do
 67          [ ${#pval} -gt 8 ] && Err "p-wert-Länge > 8: $pval"
 68          catv pval =$((pos+add)),8,Buf
 69          let "pos+=step" "++nval"
 70       done
 71       let "add+=L"
 72    done
 73    let "nval%N!=0" && Err "Anzahl p-werte kein Vielfaches von '$N'!"
 74    for 2 - nam in $DirNam
 75    do  prints s-$L- $nam;  done
 76    prints sns-f-$((step-L+8)) '' ''
 77    pos=0
 78    to $((nval/N)) repeat
 79    do
 80       catv pos,step,Buf /%n
 81       let "pos+=step"
 82    done
 83 done
 84 
 85 print %n
 86 
 87 for td in $TestDirs
 88 do
 89    print -u2 "$td"
 90    print -u1 "%n<b>$td</b>%n"
 91    for 2 dir nam in $DirNam
 92    do
 93       print -u2 "%t$nam"
 94       print -u1 "%t<b>$nam</b>%n"
 95       cat "$dir/$td/stats.txt"
 96    done
 97 done
 98 
 99 for 2 dir - in $DirNam
100 do
101    print %n
102    cat "$dir/finalAnalysisReport.txt" "$dir/freq.txt"
103 done
104 
105 #https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-22r1a.pdf
106 
107 
108