Revision 8 vom 2014-08-19 12:16:48

Nachricht löschen

Benutzer-Import in GOsa²

##!/bin/bash

ZWISCHENERGEBNIS=`tempfile`

cat students.csv | while read line; do

        ALREADY_EXISTS="START"

        NACHNAME=$(echo $line | cut -d";" -f1 | cut -d " " -f1 | cut -d "-" -f1);
        VORNAME=$(echo $line| cut -d";" -f2 | cut -d " " -f1 | cut -d "-" -f1);

        i=3;
        while [ ! -z "$ALREADY_EXISTS" ]; do
                NACHNAME_KURZ=${NACHNAME:0:3}
                VORNAME_KURZ=${VORNAME:0:$i}

                LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);

                ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo "!!! ALREADY_EXISTS !!!");
                i=$(($i+1));
        done

        echo "$line;$LOGIN;`pwgen -v 8 1`   $ALREADY_EXISTS";
done | tee $ZWISCHENERGEBNIS


DUPLICATES=`cat $ZWISCHENERGEBNIS | while read line; do

        LOGIN=$(echo $line | cut -d";" -f7);
        grep -v "$line" $ZWISCHENERGEBNIS | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";

done | uniq | sort`

if [ ! -z "$DUPLICATES" ]; then
        echo
        echo "Doppelte Logins innerhalb dieser Liste:"
        echo
        echo -e $DUPLICATES | sed 's/ /\n/g'
fi

rm -f $ZWISCHENERGEBNIS