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ávelFS
interna 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.