Unterschiede zwischen den Revisionen 1 und 13 (über 12 Versionen hinweg)
Revision 1 vom 2014-08-19 11:34:39
Größe: 532
Kommentar:
Revision 13 vom 2014-08-19 12:20:00
Größe: 1247
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 3: Zeile 3:
{{{
cat students.csv | while read line; do
{{{#!highlight bash
#!/bin/bash
Zeile 6: Zeile 6:
        NACHNAME=$(echo $line | cut -d";" -f1);
        VORNAME=$(echo $line| cut -d";" -f2);
ZWISCHENERGEBNIS=`tempfile`
Zeile 9: Zeile 8:
        NACHNAME_KURZ=${NACHNAME:0:3}
        VORNAME_KURZ=${VORNAME:0:3}
cat students.csv | while read line; do
Zeile 12: Zeile 10:
        LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);         ALREADY_EXISTS="START"
Zeile 14: Zeile 12:
        ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo ALREADY_EXISTS);         NACHNAME=$(echo $line | cut -d";" -f1 | cut -d " " -f1 | cut -d "-" -f1);
        VORNAME=$(echo $line| cut -d";" -f2 | cut -d " " -f1 | cut -d "-" -f1);
Zeile 16: Zeile 15:
        echo "$line;$LOGIN;`pwgen -v 8 1` !!! $ALREADY_EXISTS !!!";
done
        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

Benutzer-Import in GOsa²

   1 #!/bin/bash
   2 
   3 ZWISCHENERGEBNIS=`tempfile`
   4 
   5 cat students.csv | while read line; do
   6 
   7         ALREADY_EXISTS="START"
   8 
   9         NACHNAME=$(echo $line | cut -d";" -f1 | cut -d " " -f1 | cut -d "-" -f1);
  10         VORNAME=$(echo $line| cut -d";" -f2 | cut -d " " -f1 | cut -d "-" -f1);
  11 
  12         i=3;
  13         while [ ! -z "$ALREADY_EXISTS" ]; do
  14                 NACHNAME_KURZ=${NACHNAME:0:3}
  15                 VORNAME_KURZ=${VORNAME:0:$i}
  16 
  17                 LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);
  18 
  19                 ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo "!!! ALREADY_EXISTS !!!");
  20                 i=$(($i+1));
  21         done
  22 
  23         echo "$line;$LOGIN;`pwgen -v 8 1`   $ALREADY_EXISTS";
  24 done | tee $ZWISCHENERGEBNIS
  25 
  26 
  27 DUPLICATES=`cat $ZWISCHENERGEBNIS | while read line; do
  28 
  29         LOGIN=$(echo $line | cut -d";" -f7);
  30         grep -v "$line" $ZWISCHENERGEBNIS | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";
  31 
  32 done | uniq | sort`
  33 
  34 if [ ! -z "$DUPLICATES" ]; then
  35         echo
  36         echo "Doppelte Logins innerhalb dieser Liste:"
  37         echo
  38         echo -e $DUPLICATES | sed 's/ /\n/g'
  39 fi
  40 
  41 rm -f $ZWISCHENERGEBNIS

IT-Zukunft Schule: Technik/Nutzungshinweise/BenutzerImport (zuletzt geändert am 2023-08-29 20:39:10 durch MikeGabriel)