aboutsummaryrefslogtreecommitdiffstats
path: root/ft-select-samples
blob: fb3c39cd809375bbafabe46ae3b6037d0bcdabec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash

set -e

COUNTS="$1"
shift

EVENTS=""
for F in $*
do
    E=`echo $F | sed -e 's/.*overhead=\([^_.]*\).*/\1/'`
    EVENTS="$EVENTS $E"
done

declare -A MATCHES

for E in $EVENTS
do
    if [ -z "${MATCHES[$E]}" ]
    then
        MATCHES[$E]=`ls $* | egrep "_overhead=${E}[_.]"`
    fi
done

PATH_TO_SCRIPT=`dirname $0`
function find_helper()
{
	IN_PATH=`which $1`
	if [ -z "$IN_PATH" ] && [ ! -z "$PATH_TO_SCRIPT" ] &&  [ -x "$PATH_TO_SCRIPT/$1" ]
	then
		echo "$PATH_TO_SCRIPT/$1"
	else
		echo "$IN_PATH"
	fi
}

function die()
{
	echo "Error: $*"
	exit 1
}

SHUFFLE_TRUNCATE=`find_helper ft-shuffle-truncate`
[ -z "$SHUFFLE_TRUNCATE" ] && die "Can't find 'ft-shuffle-truncate' utility."

EVENTS=`awk -F ',' '{print $1}' $COUNTS`

for E in ${!MATCHES[@]}
do
    FILES="${MATCHES[$E]}"
    CUTOFF=`awk -F ',' "/ $E,/ {print \\$2}" $COUNTS`
    if [ -z "$FILES" ]
    then
    	echo "[EE] No files for $E."
    elif (( $CUTOFF == 0 ))
    then
        echo "[EE] Cutoff for $E is zero."
    else
        echo "$E -> $CUTOFF"
        $SHUFFLE_TRUNCATE -c $CUTOFF $FILES
    fi
done