O comando não mostrará a lista de usuários logados na máquina; na verdade, o comando analisará /etc/shadow , que não tem noção de usuários conectados à máquina.
O comando mostrará a lista de usuários que possuem uma senha definida para sua conta.
Aqui está o detalhamento do comando (observe que isso se refere especificamente à MAWK, que é a versão AWK instalada no Ubuntu, onde a especificação de um padrão entre "" está correta e requer o mesmo escape necessário para um padrão entre // , conforme explicado em man mawk ):
-
-F':': define o separador de campo (correspondente à variávelFSinterna do AWK) como:; isso significa que os campos de cada registro (ou linha neste caso) serão divididos no caractere:e que referências como,,, ... farão referência respectivamente ao primeiro string delimitada do registro atual, a segunda string delimitada por dois pontos do registro atual, a terceira string delimitada por dois pontos do registro atual, .... -
~ "$": este é um chamado "padrão"; é uma condição que é avaliada toda vez que um registro é processado. A condição neste caso é: se o segundo campo corresponder ao regex$(ou seja, se o segundo campo contiver o caractere$), execute a seguinte "ação". -
{print }: esta é uma chamada "ação"; é um bloco de código que é executado toda vez que a condição anterior é avaliada como TRUE. Imprime o primeiro campo.