( NevemTeve | 2024. 05. 31., p – 13:42 )

Nyilván volt már bash-megoldás, de csak úgy hobbiból megpróbáltam:

#!/bin/bash

declare -A tab

while IFS=$'\n\r\t ' read A B C; do
    if [ x"$C" = x"" ]; then
        C="$B"
    fi
    if [[ -v tab["$C"] ]]; then
        if [ "$A" -gt "${tab[$C]}" ]; then
            tab["$C"]="$A"
        fi
    else
        tab["$C"]="$A"
    fi
done

printf '%s\n' "${!tab[@]}" | sort | while read i; do
    printf $'UPDATE servers SET backup=\'%s\' WHERE hostname=\'%s\';\n' "${tab[$i]}" "$i"
done