Script idiota per importare utenti da un file di testo CSV

Questo script e` fatto da me, e io non so scrivere programmi, quindi so benissimo che fa schifo. Se qualcuno ha voglia di farlo meglio, ben venga. Questo non fa controllo errori di nessun tipo, per dire.

# legge da standard in una serie di righe con:
# username, nome, cognome, gruppo
# e crea gli utenti aggiungendoli al gruppo e dandogli password a caso.
# scrive un file log.txt contenente le password e gli username abbinati.


while read line
do
        username=`echo $line | awk -F "," '{split($0,a); print a[1]}'`
        gecos=`echo $line | awk -F "," '{split($0,a); print a[2]" "a[3]}'`
        group=`echo $line | awk -F "," '{split($0,a); print a[4]}'`
        password=`makepasswd`

        adduser --ingroup users --disabled-password --gecos "$gecos" --quiet --force-badname --firstuid 10000 --lastuid 50000 $username
        echo Utente $username creato nel sistema
        addgroup "$username" "$group"
        echo Utente $username aggiunto al gruppo $group
        (echo $password ; echo $password) | smbpasswd -s -a $username
        echo Utente $username aggiunto a Samba con password $password
        echo "Nome: $gecos              Utente: $username               Password: $password" >> log.txt

done