#!/bin/bash

set -u
set -e
#set -x

_main()
{
    local -r file=$1

    # filter by connections
    #cat "$file" | awk -F, '$5 == 1200 {print $0}'

    # sort by connections,mode,proto,workers,payload
    local -r file_sorted="$file.sorted"
    head -n1 "$file" > "$file_sorted" \
        && cat "$file" | tail -n+2 \
            | sort -t, -k5n,5n -k1,2 -k4n,4n -k3h,3h >> "$file_sorted"

    # group
    local -r file_grouped="$file.grouped"
    head -n1 "$file" | awk '{printf "%s,%s\n", $0, $0}' > "$file_grouped" \
        && cat "$file" | tail -n+2 \
            | sort -t, -k5n,5n -k2,2 -k4n,4n -k3h,3h -k1,1 | paste -d, - - >> "$file_grouped"

    echo $file_sorted
    echo $file_grouped
}

_main "$@"
