= 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 }}}