Isso pode ser feito em um único pipeline - basta usar xargs
para executar useradd
para cada linha em sua entrada:
sed '/^[[:space:]]*$/d; s/[[:space:]]//g' users.dat |
xargs -I{} echo {}
Substitua echo
por useradd
quando tiver certeza de que está fazendo a coisa certa.
Note também que se você está escrevendo isto para um sistema baseado no Debian (eg Ubuntu, Linux Mint), você deve considerar usar adduser
ao invés de useradd
. Para mais detalhes veja - O que o adduser faz que o useradd não possui? / a>