Uma combinação de grep
, tr
, cut
e substituição de processo:
cut -d: -f1 /etc/passwd | grep -xvFf <(tr ',' '\n' < file.csv)
O comando cut
obtém os nomes de usuários de /etc/passwd
(o primeiro campo :
-delimited).
Em seguida, o comando tr
converte seus campos CSV em um nome de usuário por linha.
O comando grep procura linhas inteiras ( -x
) que não correspondem ( -v
) a nenhum padrão fixo ( -F
) de um arquivo contendo padrões, um por linha ( -f
). Usamos a substituição do processo ( <()
) para usar a saída de tr
para esses padrões.