O problema é que você define FS
após awk
ler a primeira entrada, então usará o valor padrão de FS
, que é a space
para o registro da raiz.
Você deve definir FS
antes de awk
ler qualquer entrada. Há muitas maneiras de fazer isso:
awk -F: '{print $1, $2}' /etc/shadow
ou:
awk '{print $1, $2}' FS=: /etc/shadow
ou:
awk 'BEGIN{FS=":"}{print $1, $2}' /etc/shadow