If you don’t mind using a different command, and don’t mind having it formatted in json, you can output qstat to json and use jq to process it.
This is what I used to get unique users in a queue:
[vstumpf@shecil ~]$ qstat
Job id Name User Time Use S Queue
---------------- ---------------- ---------------- -------- - -----
1000066.shecil STDIN pbsuser 00:00:00 R workq
1000067.shecil STDIN vstumpf 00:00:00 R workq
1000068.shecil STDIN vstumpf 00:00:00 R workq
1000069.shecil STDIN vstumpf 00:00:00 R workq
1000070.shecil STDIN pbsuser 0 Q workq
1000071.shecil STDIN pbsuser1 0 Q workq
1000073.shecil STDIN pbsuser2 0 Q exprq
[vstumpf@shecil ~]$ qstat -f -Fjson | jq '.Jobs | map(select(.queue == "workq") | .euser) | unique'
[
"pbsuser",
"pbsuser1",
"vstumpf"
]
[vstumpf@shecil ~]$ qstat -f -Fjson | jq '.Jobs | map(select(.queue == "exprq") | .euser) | unique'
[
"pbsuser2"
]