4 while [ $(jobs -r | wc -l) -gt 0 ];
14 for i in $(seq `expr $X - 1`);
21 BATCH=`expr \( $X \* $VALUES \) / 2`
23 echo "${VALUES} values"
24 echo "Batch: ${BATCH}"
26 echo "generating numbers (1)"
28 tr -dc 0-9 < /dev/urandom | head -c"${BATCH}" | sed 's/\('$PUNKTE'\)/\1\n/g' > unsorted1a &
29 tr -dc 0-9 < /dev/urandom | head -c"${BATCH}" | sed 's/\('$PUNKTE'\)/\1\n/g' > unsorted1b &
31 echo "generating numbers (2)"
33 tr -dc 0-9 < /dev/urandom | head -c"${BATCH}" | sed 's/\('$PUNKTE'\)/\1\n/g' > unsorted2a &
34 tr -dc 0-9 < /dev/urandom | head -c"${BATCH}" | sed 's/\('$PUNKTE'\)/\1\n/g' > unsorted2b &
37 echo "removing empty lines"
39 rm -f unsorted1 unsorted2
40 sed '/^$/d' unsorted1a >> unsorted1
41 sed '/^$/d' unsorted1b >> unsorted1
42 sed '/^$/d' unsorted2a >> unsorted2
43 sed '/^$/d' unsorted2b >> unsorted2
44 rm -f unsorted1a unsorted1b unsorted2a unsorted2b
46 echo "formatting numlist"
48 cat unsorted1 | sort -n | sed -e ':a;N;$!ba;s/\n/,/g' -e 's/^/,/' -e 's/,[0]*/,/g' -e 's/^,/\tint a[] = {/' -e 's/{,/{0,/' -e 's/$/,-1};/' >numlist1.c &
49 cat unsorted2 | sort -n | sed -e ':a;N;$!ba;s/\n/,/g' -e 's/^/,/' -e 's/,[0]*/,/g' -e 's/^,/\tint b[] = {/' -e 's/{,/{0,/' -e 's/$/,-1};/' >numlist2.c &
51 rm -f unsorted1 unsorted2
54 echo "#define LISTSIZE ${VALUES}" >> numlist.h
55 echo "extern int a["`expr ${VALUES} + 1`"];" >> numlist.h
56 echo "extern int b["`expr ${VALUES} + 1`"];" >> numlist.h
59 cat numlist1.c >> numlist.c
60 cat numlist2.c >> numlist.c
61 rm -f numlist1.c numlist2.c