Si solo desea resumir la salida de squeue , que tal:
squeue -u <username> | awk '
BEGIN {
    abbrev["R"]="(Running)"
    abbrev["PD"]="(Pending)"
    abbrev["CG"]="(Completing)"
    abbrev["F"]="(Failed)"
}
NR>1 {a[$5]++}
END {
    for (i in a) {
        printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
    }
}'
 que produce algo como:
R  (Running)    1
PD (Pending)    4
 Explicaciones:
- El 
job statese supone que está en el quinto campo según el formato predeterminado desqueue. - Luego, el script cuenta la aparición de cada código de estado de trabajo, excepto la primera línea que incluye el encabezado.
 - Finalmente informa el conteo de cada código de estado de trabajo.
 
 Para que sea útil, agregue las siguientes líneas a su .bash_aliases o .bashrc (el nombre del archivo puede depender del sistema):
function summary() {
    squeue "[email protected]" | awk '
    BEGIN {
        abbrev["R"]="(Running)"
        abbrev["PD"]="(Pending)"
        abbrev["CG"]="(Completing)"
        abbrev["F"]="(Failed)"
    }
    NR>1 {a[$5]++}
    END {
        for (i in a) {
            printf "%-2s %-12s %d\n", i, abbrev[i], a[i]
        }
    }'
}
 
 Entonces puedes invocar el comando solo con summary [option] , donde [option] acepta opciones para squeue si es necesario (mayormente innecesario).
Espero que esto ayude.
Yo interpretaría el "comando rápido" de manera diferente. Además, agregaría -r para los casos en que esté utilizando matrices de trabajo:
squeue -u <username> -h -t pending,running -r | wc -l
 opción -h elimina el encabezado "wc -l" (recuento de palabras) cuenta la línea de la salida. Eventualmente lo estoy usando con el reloj
watch 'squeue -u <username> -h -t pending,running -r | wc -l'