Das ist ja so ein Frickelskript, das Startskript schnelltest.sh kopiert die ganze Logdatei vom BBB-Server weg und dann faengt das getusers.sh an den ganzen Userkram rauszukratzen und danach wird noch dedupliziert, bisschen sortiert und gezaehlt.
Ich weiss jetzt nicht so ganz genau wieso bei Dir da wohl Vorname Nachname erscheint, bei uns ist das umgekehrt, spielt aber keine grosse Rolle.
So sollte das in etwas tun, unten kannst Du die Variablen $vorname $nachname mal umdrehen, denke aber zum sortieren duerfte nachname vorname irgendwie besser geeignet sein. Kosmetik ist da wenig drin, Leerzeichen dazwischen bei der Ausgabe der Namen koennte man noch…
#!/bin/bash
users=()
while IFS= read -r line
do
#echo "$line"
timestamp=$(echo $line | cut -f1 -d ' ')
data=$(echo $line |grep -o \{.*\})
user=$(echo $data | jq -r .username)
desc=$(echo $data | jq -r .description)
role=$(echo $data | jq -r .role)
meeting=$(echo $data | jq -r .name)
echo "$timestamp: $user, $role, $meeting : $desc"
nachname=$(echo $user | cut -f 1 -d ' ')
vorname=$(echo $user | cut -f 2 -d ' ')
users+=($nachname$vorname)
done < <(cat $1 | grep username )
echo
uniqusers=($(printf "%q\n" "${users[@]}" | sort -u))
echo ${#uniqusers[@]} Benutzer:
echo
printf '%s\n' "${uniqusers[@]}"
echo