Unterschiede zwischen den Revisionen 13 und 14
Revision 13 vom 2014-08-19 12:20:00
Größe: 1247
Kommentar:
Revision 14 vom 2014-08-19 12:26:44
Größe: 1395
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 6: Zeile 6:
ZWISCHENERGEBNIS=`tempfile` if [ -z "$1" ]; then
        echo "usage $(basename $0) <csv-file>"
        exit -1
fi
Zeile 8: Zeile 11:
cat students.csv | while read line; do FILENAME=$1
IMPORTFILE=import_$FILENAME

cat $FILENAME | while read line; do
Zeile 27: Zeile 33:
done | tee $ZWISCHENERGEBNIS done | tee $IMPORTFILE
Zeile 29: Zeile 35:
echo
Zeile 30: Zeile 37:
DUPLICATES=`cat $ZWISCHENERGEBNIS | while read line; do DUPLICATES=`cat $IMPORTFILE | while read line; do
Zeile 33: Zeile 40:
        grep -v "$line" $ZWISCHENERGEBNIS | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";         grep -v "$line" $IMPORTFILE | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";
Zeile 38: Zeile 45:
 echo
Zeile 42: Zeile 49:
        echo
Zeile 44: Zeile 52:
rm -f $ZWISCHENERGEBNIS echo "Die Datei für den GOsa²-Import heißt \"$IMPORTFILE\"."
echo

Benutzer-Import in GOsa²

   1 #!/bin/bash
   2 
   3 if [ -z "$1" ]; then
   4         echo "usage $(basename $0) <csv-file>"
   5         exit -1
   6 fi
   7 
   8 FILENAME=$1
   9 IMPORTFILE=import_$FILENAME
  10 
  11 cat $FILENAME | while read line; do
  12 
  13         ALREADY_EXISTS="START"
  14 
  15         NACHNAME=$(echo $line | cut -d";" -f1 | cut -d " " -f1 | cut -d "-" -f1);
  16         VORNAME=$(echo $line| cut -d";" -f2 | cut -d " " -f1 | cut -d "-" -f1);
  17 
  18         i=3;
  19         while [ ! -z "$ALREADY_EXISTS" ]; do
  20                 NACHNAME_KURZ=${NACHNAME:0:3}
  21                 VORNAME_KURZ=${VORNAME:0:$i}
  22 
  23                 LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);
  24 
  25                 ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo "!!! ALREADY_EXISTS !!!");
  26                 i=$(($i+1));
  27         done
  28 
  29         echo "$line;$LOGIN;`pwgen -v 8 1`   $ALREADY_EXISTS";
  30 done | tee $IMPORTFILE
  31 
  32 echo
  33 
  34 DUPLICATES=`cat $IMPORTFILE | while read line; do
  35 
  36         LOGIN=$(echo $line | cut -d";" -f7);
  37         grep -v "$line" $IMPORTFILE | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";
  38 
  39 done | uniq | sort`
  40 
  41 if [ ! -z "$DUPLICATES" ]; then
  42 
  43         echo "Doppelte Logins innerhalb dieser Liste:"
  44         echo
  45         echo -e $DUPLICATES | sed 's/ /\n/g'
  46         echo
  47 fi
  48 
  49 echo "Die Datei für den GOsa²-Import heißt \"$IMPORTFILE\"."
  50 echo

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