]> git.hoellein.online Git - zenbook_bin/commitdiff
initial
authorMario Höllein <mhoellein@freenet.de>
Wed, 31 Jul 2019 18:44:44 +0000 (20:44 +0200)
committerMario Höllein <mhoellein@freenet.de>
Wed, 31 Jul 2019 18:44:44 +0000 (20:44 +0200)
172 files changed:
Terminal de_DE@euro [new file with mode: 0755]
TessProcess.jar [new file with mode: 0644]
array.tcl [new file with mode: 0755]
arraysort.sh [new file with mode: 0755]
arraytest.tcl [new file with mode: 0755]
backup_history.sh [new file with mode: 0755]
backupdiff [new file with mode: 0755]
berichtige5550017.sh [new file with mode: 0755]
bitshift.c [new file with mode: 0644]
calc [new file with mode: 0755]
catdat [new file with mode: 0755]
changeBackground.pl [new file with mode: 0755]
changeBackground.py [new file with mode: 0755]
changeBackground_1.pl [new file with mode: 0755]
change_dat.sh [new file with mode: 0755]
checkArchivDirForFiles.sh [new file with mode: 0755]
checkArchivDirForFiles_aktionEVK.sh [new file with mode: 0755]
checkArchivDirForFiles_modscan.sh [new file with mode: 0755]
checkBelegeModwork.sh [new file with mode: 0755]
checkFilesImportedInWorkflow.sh [new file with mode: 0755]
checkNumbersGasuf.sh [new file with mode: 0755]
check_fail_png.sh [new file with mode: 0755]
checkfield [new file with mode: 0755]
checkinhalt [new file with mode: 0755]
convertMenuFile.sh [new file with mode: 0755]
convertTar2Lineart.sh [new file with mode: 0755]
convert_V2.tcl [new file with mode: 0755]
convert_kadis2isu.tcl [new file with mode: 0755]
convert_kadis2isu_new.tcl [new file with mode: 0755]
copyFilesToAllScanners.sh [new file with mode: 0755]
copyLogfileToArchiv.sh [new file with mode: 0755]
copyModscanCIM.sh [new file with mode: 0644]
copyPicturesFromNextcloud.sh [new file with mode: 0755]
copyrpm2gray [new file with mode: 0755]
createRFile.sh [new file with mode: 0755]
createRFile_EGS_Herbstaktion.sh [new file with mode: 0755]
cryptdir [new file with mode: 0755]
csv.tcl [new file with mode: 0755]
csv2dat.tcl [new file with mode: 0644]
csvcut [new file with mode: 0755]
csvread [new file with mode: 0755]
csvwrite [new file with mode: 0755]
cutter [new file with mode: 0755]
cvsdiff [new file with mode: 0755]
cvsstatus [new file with mode: 0755]
daemon.tcl [new file with mode: 0755]
daemon_test.tcl [new file with mode: 0755]
db.tcl [new file with mode: 0755]
delOldesFilesIfHardiskFull.sh [new file with mode: 0755]
deleteNumbersInFile.sh [new file with mode: 0755]
doArchivPrefixNewWithBKNR.sh [new file with mode: 0755]
egsscanneron [new file with mode: 0755]
emsscanneron [new file with mode: 0755]
entpwd.sh [new file with mode: 0644]
esgscanneron [new file with mode: 0755]
eval.tcl [new file with mode: 0755]
eventtester.tcl [new file with mode: 0755]
evkscanneron [new file with mode: 0755]
export.sh [new file with mode: 0755]
filter3 [new file with mode: 0755]
findDatNotInModwork.sh [new file with mode: 0755]
find_kadis_not_in_isu.sh [new file with mode: 0755]
generateBelegartenFileFromModarch3.sh [new file with mode: 0644]
getEVKcsv.sh [new file with mode: 0755]
getPicturesFromHomecloud.sh [new file with mode: 0755]
getScreen [new file with mode: 0755]
getout.pl [new file with mode: 0755]
gis_datenaufbereitung.sh [new file with mode: 0755]
gufscanneron [new file with mode: 0755]
hostl [new file with mode: 0755]
ifconfig [new file with mode: 0755]
insert_into_db_vertragsakten.sh [new file with mode: 0755]
istgleich.sh [new file with mode: 0755]
isu_test.sh [new file with mode: 0755]
isu_zerfluecker [new file with mode: 0755]
kernels/ethash_baffin_lws128.bin [new file with mode: 0644]
kernels/ethash_baffin_lws192.bin [new file with mode: 0644]
kernels/ethash_baffin_lws256.bin [new file with mode: 0644]
kernels/ethash_baffin_lws64.bin [new file with mode: 0644]
kernels/ethash_ellesmere_lws128.bin [new file with mode: 0644]
kernels/ethash_ellesmere_lws192.bin [new file with mode: 0644]
kernels/ethash_ellesmere_lws256.bin [new file with mode: 0644]
kernels/ethash_ellesmere_lws64.bin [new file with mode: 0644]
kernels/ethash_gfx901_lws128.bin [new file with mode: 0644]
kernels/ethash_gfx901_lws192.bin [new file with mode: 0644]
kernels/ethash_gfx901_lws256.bin [new file with mode: 0644]
kernels/ethash_gfx901_lws64.bin [new file with mode: 0644]
kernels/ethash_tonga_lws128.bin [new file with mode: 0644]
kernels/ethash_tonga_lws192.bin [new file with mode: 0644]
kernels/ethash_tonga_lws256.bin [new file with mode: 0644]
kernels/ethash_tonga_lws64.bin [new file with mode: 0644]
lkw_find_versand.sh [new file with mode: 0755]
load_icc.sh [new file with mode: 0755]
lock.tcl [new file with mode: 0755]
lock1.tcl [new file with mode: 0755]
locktester.tcl [new file with mode: 0755]
locktester1.tcl [new file with mode: 0755]
make_luke [new file with mode: 0755]
make_rueckgabe.sh [new file with mode: 0755]
make_rueckgabe.tcl [new file with mode: 0755]
make_rueckgabe_ems.sh [new file with mode: 0755]
merge2files.sh [new file with mode: 0755]
my_convert.sh [new file with mode: 0755]
nnr2r [new file with mode: 0755]
nr2r [new file with mode: 0755]
ocr-ausschnitt-rep [new file with mode: 0755]
pdfcrack [new file with mode: 0755]
pdfinfo1 [new file with mode: 0755]
pingtest.sh [new file with mode: 0755]
png-qualitaet.py [new file with mode: 0755]
png2klein.sh [new file with mode: 0755]
pngto4bit.sh [new file with mode: 0755]
postgres_connect.tcl [new file with mode: 0755]
printVertragsArt_aktion3000031.sh [new file with mode: 0755]
repair_inffile.tcl [new file with mode: 0755]
replaceOldKeys_EGS_Herbstaktion.sh [new file with mode: 0755]
reversps [new file with mode: 0755]
rsyncFilesToWorkflow.sh [new file with mode: 0755]
rsync_lkw.sh [new file with mode: 0755]
sampledata.csv1 [new file with mode: 0644]
sapsplit [new file with mode: 0755]
scancmd [new file with mode: 0755]
scancmd_adf [new file with mode: 0755]
scanneron [new file with mode: 0755]
script.sh [new file with mode: 0755]
search_force.sh [new file with mode: 0755]
sepa_ocr.sh [new file with mode: 0755]
sh_test.sh [new file with mode: 0755]
sonderfaelle_egs_herbstaktion.sh [new file with mode: 0755]
sortSWGAktion5550017.sh [new file with mode: 0755]
sort_for_isu.tcl [new file with mode: 0755]
sortindex [new file with mode: 0755]
splitfile [new file with mode: 0755]
spotify-rpm-generator.sh [new file with mode: 0755]
startWorking [new file with mode: 0755]
start_eclipse.sh [new file with mode: 0755]
statistik_tar.sh [new file with mode: 0755]
stopWorking [new file with mode: 0755]
switch_network.sh [new file with mode: 0644]
swmscanneron [new file with mode: 0755]
t.sh [new file with mode: 0755]
t.tcl [new file with mode: 0755]
t1.sh [new file with mode: 0755]
t2.sh [new file with mode: 0755]
t3.sh [new file with mode: 0755]
tb_test.sh [new file with mode: 0755]
tcltest.tcl [new file with mode: 0755]
test.c [new file with mode: 0755]
test.go [new file with mode: 0755]
test.pl [new file with mode: 0755]
test.sh [new file with mode: 0755]
test.tcl [new file with mode: 0755]
test1.c [new file with mode: 0755]
test1.tcl [new file with mode: 0755]
testfile.txt [new file with mode: 0644]
testp.sh [new file with mode: 0755]
testscanner.tcl [new file with mode: 0755]
tidy [new file with mode: 0755]
tnef [new file with mode: 0755]
tt.c [new file with mode: 0755]
usbreset [new file with mode: 0755]
usbreset.c [new file with mode: 0644]
usbreset_64 [new file with mode: 0755]
utils.tcl [new file with mode: 0644]
viaes [new file with mode: 0644]
visscanneron [new file with mode: 0755]
vnc_scanrechner [new file with mode: 0755]
weltraum.sh [new file with mode: 0755]
working.sh [new file with mode: 0755]
xvnc_scanrechner [new file with mode: 0755]
zahlen.c [new file with mode: 0644]
zeige [new file with mode: 0644]

diff --git a/Terminal de_DE@euro b/Terminal de_DE@euro
new file mode 100755 (executable)
index 0000000..8d397ad
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+export GDM_LANG="de_DE@euro"
+export LANG="de_DE@euro"
+export RC_LANG="de_DE@euro"
+export LC_ALL="de_DE@euro"
+gnome-terminal --disable-factory 
diff --git a/TessProcess.jar b/TessProcess.jar
new file mode 100644 (file)
index 0000000..c31b2ec
Binary files /dev/null and b/TessProcess.jar differ
diff --git a/array.tcl b/array.tcl
new file mode 100755 (executable)
index 0000000..a96a0c8
--- /dev/null
+++ b/array.tcl
@@ -0,0 +1,9 @@
+#! /usr/bin/wish -f
+
+array set ordner { name ordner1 longname "ordner eins" 
+name ordner2 longname "ordner zwei" ja
+ordner3 "ordner drei" ja}
+
+puts $ordner(ordner1)
+
+
diff --git a/arraysort.sh b/arraysort.sh
new file mode 100755 (executable)
index 0000000..a99b2fb
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+v[1]=UNKLAR
+v[2]=UNKLAR
+#v[3]=EVK_T1
+anzahl=2
+
+erg=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq`
+ergzahl=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq |wc -l`
+echo $erg
+echo $ergzahl
+
+if [ $ergzahl -gt 2 ]; then
+       echo "UNKLAR"
+else
+       vertrag=""
+       for v in $erg
+       do
+               if [ "${v}" != "UNKLAR" ]
+               then
+                       if [ "$vertrag" = "" -o "$vertrag" = "$v" ]; then
+                               vertrag=$v
+                       else
+                               vertrag=UNKLAR
+                       fi
+               fi
+       done
+       if [ "$vertrag" = "" ]; then vertrag=UNKLAR; fi
+       echo $vertrag
+fi
diff --git a/arraytest.tcl b/arraytest.tcl
new file mode 100755 (executable)
index 0000000..73f67b9
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/wish
+set n ""
+set w ""
+array set old "nr1 1"
+array set old "nr2 2"
+array set old "nr3 3"
+array set old "nr4 4"
+
+array set new "nr5 5"
+array set new "nr6 6"
+array set new "nr7 7"
+array set new "nr8 8"
+
+
+puts $new(nr5)
+#puts "first"
+#foreach {n w} [array get old] {
+#      puts "$n $w"    
+#}
+#
+#puts "second"
+#foreach {NAME WERT} {n w} [array get old] [array get new] {
+#      puts "old $NAME $WERT"
+#      puts "$n $w"
+#}
+
diff --git a/backup_history.sh b/backup_history.sh
new file mode 100755 (executable)
index 0000000..3e9a1e4
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+#set -x
+KEEP=all
+BASH_HIST=~/.bash_history
+BACKUP=$BASH_HIST.$(date +%H%M%S%d%m%y)
+
+if [ -s "$BASH_HIST" -a "$BASH_HIST" -nt "$BACKUP" ]; then
+  # history file is newer then backup
+  if [[ -f $BACKUP ]]; then
+    # there is already a backup
+    cp -f $BASH_HIST $BACKUP
+  else
+    # create new backup, leave last few commands and reinitialize
+    mv -f $BASH_HIST $BACKUP
+       if [ "${KEEP}" = "all" ]; then
+           cat $BACKUP > $BASH_HIST
+       else
+           tail -n$KEEP $BACKUP > $BASH_HIST
+       fi
+    history -r
+  fi
+fi
diff --git a/backupdiff b/backupdiff
new file mode 100755 (executable)
index 0000000..502b3b1
--- /dev/null
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+aufruf() {
+  echo "Aufruf: backupdiff MD5-DATEI DIFF-DATEI [SEKUNDEN]"
+  echo "MD5-DATEI: Zu vergleichende MD5-Datei"
+  echo "DIFF-DATEI: Beinhaltet die Ergebnisse der Vergleiche"
+  echo "SEKUNDEN: Anzahl der Sekunden zw. den Aktualisierungen"
+}
+
+
+if [ -z $1 ]; then
+   if [ -z $2 ]; then
+      aufruf
+      exit
+   else
+      aufruf
+      exit
+   fi
+else 
+   if [ -z $2 ]; then
+      aufruf
+      exit
+   fi
+fi
+
+
+DIFFDATEI=$2
+MD5DATEI=$1
+if [ -z $3 ]; then
+   WARTEN=2
+else 
+   WARTEN=$3
+fi
+
+#MD5DATEI=${BACKUPDVD}MD5
+#MD5DATEI=${BACKUPDVD}
+BACKUPDVD=`dirname $MD5DATEI`/
+
+#echo "BACKUPDVD = $BACKUPDVD"
+#echo "DIFFDATEI = $DIFFDATEI"
+#echo "MD5DATEI  = $MD5DATEI"
+
+
+if [ ! -e $MD5DATEI ]; then
+   echo "MD5-Datei $MD5DATEI nicht gefunden!"
+   exit
+else
+   if [ -d $MD5DATEI ]; then
+      echo "$MD5DATEI ist ein Verzeichnis, keine MD5-Datei!"
+      exit
+   fi
+fi
+
+if [ -e $DIFFDATEI ]; then
+   echo "DIFF-Datei $DIFFDATEI existiert bereits!"
+   exit
+fi
+
+
+echo "Lese MD5-Datei ein..."
+FILESDVD=`wc -l $MD5DATEI | cut -d' ' -f1`
+#echo $FILESDVD
+
+STARTZEIT=`date +%s`
+echo "Beginne mit Vergleich..."
+ALTESVZ=`pwd`/
+#echo $ALTESVZ
+cd $BACKUPDVD
+#pushd $BACKUPDVD
+nohup md5sum --check MD5  > $DIFFDATEI &
+#popd 
+cd $ALTESVZ
+
+PROZENT=0
+
+export TRUE=1
+
+touch $DIFFDATEI
+WORKZEIT=1
+NOCHZEIT=1
+NOCHFILES=1000
+
+while [ $TRUE -eq 1 ]; do
+  FILESMD5=`wc -l $DIFFDATEI | cut -d' ' -f1`
+  if [ $NOCHFILES -lt 1 ]; then
+       TRUE=0
+  fi   
+  if [ $FILESMD5 -eq 0 ]; then
+     FILESMD5=1
+  fi
+  let PROZENT=($FILESMD5*100)/$FILESDVD
+  AKTUELLEZEIT=`date +%s`
+  let WORKZEIT=$AKTUELLEZEIT-$STARTZEIT
+  let GESAMTZEIT=($WORKZEIT*$FILESDVD)/$FILESMD5
+  let NOCHFILES=$FILESDVD-$FILESMD5
+  let NOCHZEIT=($NOCHFILES*$GESAMTZEIT)/$FILESDVD
+  let NOCHZEIT=$NOCHZEIT/60
+  let NOCHZEIT=$NOCHZEIT
+  echo -ne " Verbleibende Dateien: $NOCHFILES von $FILESDVD (${PROZENT}% erledigt)| Verbleibende Zeit: ca. $NOCHZEIT min \r"
+  sleep $WARTEN
+done
+
+cat $DIFFDATEI | grep -v Ok > ${DIFFDATEI}.error
+ERROR=`wc -l ${DIFFDATEI}.error | cut -d' ' -f1`
+echo ""
+echo ""
+echo "$ERROR von $FILESDVD fehlerhaft!"
diff --git a/berichtige5550017.sh b/berichtige5550017.sh
new file mode 100755 (executable)
index 0000000..3add0a0
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/bash
+
+CSV_FILE="/tmp/AUSWERTUNG.csv"
+PWD="/home/mhoellein/Aktionen/Stadtwerke_Glauchau/2016/01/04/unterschrift_fehlt"
+LOGFILE=/tmp/`basename $0`_$$.log
+NEWDATDIR=/tmp/newdat
+
+
+array Z
+array data
+array DATFILE
+reuse() {
+       IFS=$(echo -en "\n\b")
+       Z[1]=`grep S0001 $1`
+       DATFILE=(${DATFILE[@]} ${Z[1]})
+       Z[2]=`grep TAR_MD5SUM $1`
+       Z[3]=`grep S0002 $1`
+       Z[4]=`grep S0005 $1`
+       Z[5]=`grep S0098 $1`
+       Z[6]=`grep S9000 $1`
+       Z[7]=`grep MW_ID $1`
+       Z[8]=`grep ERFASSUNG_BENUTZER $1`
+       Z[9]=`grep ERFASSUNG_DATUM $1`
+       Z[10]=`grep BUCHK $1`
+       Z[11]=`grep CSV_RETURN_VALUE $1`
+       Z[12]=`grep ERFASSUNG_HOST $1`
+       Z[13]=`grep OCR_CODE $1`
+       PIC=($(grep PIC $1))
+       Z[14]=`grep STATUS $1`
+       length=`echo "${#PIC[@]}"`
+       length=`expr $length - 1`
+}
+
+writeNewDat() {
+       for i in `seq 0 ${#DATFILE[@]}`
+       do
+               echo ${DATFILE[$i]} | tee -a $LOGFILE >> ${NEWDATDIR}/`echo ${Z[6]} |sed -e "s/S9000 //"`.dat
+       done
+}
+variableDaten() {
+       DATFILE=(${DATFILE[@]} "${Z[2]}")
+       DATFILE=(${DATFILE[@]} "${Z[3]}")
+       DATFILE=(${DATFILE[@]} "${Z[4]}")
+       DATFILE=(${DATFILE[@]} "${Z[5]}")
+       DATFILE=(${DATFILE[@]} ${Z[6]})
+       DATFILE=(${DATFILE[@]} ${Z[7]})
+       DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f1 |sed -e s/^0*//`")
+       DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f2 |sed -e s/^0*//`")
+       DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f3 |sed -e s/^0*//`")
+       DATFILE=(${DATFILE[@]} "ADRESSE_NAME `echo $1 |cut -d',' -f4` `echo $1 |cut -d',' -f5`")
+       DATFILE=(${DATFILE[@]} "KUNDE_ANLAGE_STRASSE `echo $1 |cut -d',' -f6` `echo $1 |cut -d',' -f7` `echo $1 |cut -d',' -f8`")
+       DATFILE=(${DATFILE[@]} "KUNDE_ANLAGE_ORT `echo $1 |cut -d',' -f9` `echo $1 |cut -d',' -f10`")
+       DATFILE=(${DATFILE[@]} ${Z[8]})
+       DATFILE=(${DATFILE[@]} ${Z[9]})
+       DATFILE=(${DATFILE[@]} ${Z[10]})
+       DATFILE=(${DATFILE[@]} ${Z[11]})
+       DATFILE=(${DATFILE[@]} ${Z[12]})
+       DATFILE=(${DATFILE[@]} ${Z[13]})
+       DATFILE=(${DATFILE[@]} ${Z[14]})
+       for i in `seq 0 ${#PIC[@]}`
+       do
+               DATFILE=(${DATFILE[@]} ${PIC[$i]})
+       done
+       DATFILE=(${DATFILE[@]} "S9995")
+}
+
+#endData() {
+#      for i in `seq 0 ${#PIC[@]}`
+#      do
+#              DATFILE=(${DATFILE[@]} ${PIC[$i]})
+#      done
+#      DATFILE=(${DATFILE[@]} "S9995")
+#}
+
+doDataInArray() {
+       data=($(grep `echo ${Z[13]} |cut -d" " -f2|sed -e 's+/\([0-9]\)$+/0\1+'` $CSV_FILE))
+        length=`echo "${#data[@]}"`
+        length=`expr $length - 1`
+        for i in `seq 0 $length`;
+        do
+                csvdata=`echo ${data[$i]} |csvread -c '^' -d ','|csvcut -n 7,78,80,10,11,14,15,16,17,18 | csvwrite -d ',' -q 'QUOTE_NONE'`
+               variableDaten $csvdata
+        done
+#      endData
+}
+
+createNewDatFile() {
+       unset DATFILE
+       unset Z
+       unset data
+       echo "erzeuge neues dat-file $i" | tee $LOGFILE
+       reuse $i
+       doDataInArray
+       writeNewDat
+       echo "$i - done" |tee $LOGFILE
+}
+
+for i in `cat /tmp/GSW_AMA_DATfiles.txt`
+do
+       unset Z
+       unset data
+       if [ ! -z "`grep '^OCR_CODE 5550017' $i`" ]; then
+               createNewDatFile $i
+       else
+               echo $i nicht aus Aktion |tee $LOGFILE
+       fi
+
+done
diff --git a/bitshift.c b/bitshift.c
new file mode 100644 (file)
index 0000000..c8470ac
--- /dev/null
@@ -0,0 +1,39 @@
+#include "stdio.h"
+#include "math.h"
+#include "limits.h"
+void shift();
+void division();
+
+int t0=0;
+int t1=0;
+int t2=0;
+int i1=100000;
+int i2=100000;
+int imax=1000000;
+
+void main() {
+       shift();
+       //division();
+}
+
+void division() {
+       i1=imax;
+       while (i1!=1) {
+               i1--;
+               i2=INT_MAX;
+               while (i2!=1) {
+                       i2 = i2/2;
+               }
+       }
+}
+
+void shift() {
+       i1=imax;
+       while (i1!=1) {
+               i1--;
+               i2=INT_MAX;
+               while (i2!=1) {
+                       i2 = i2>>1;
+               }
+       }
+}
diff --git a/calc b/calc
new file mode 100755 (executable)
index 0000000..efac475
--- /dev/null
+++ b/calc
@@ -0,0 +1,135 @@
+#!/usr/bin/perl
+use Date::Calendar::Profiles qw( $Profiles );
+use Date::Calendar;
+use Date::Calc qw(:all);
+use Data::Dumper;
+
+Language (Decode_Language("Deutsch"));
+$calendar_DE_SN=Date::Calendar->new( $Profiles->{'DE-SN'} );
+
+
+if ( !open( TIMEFILE, "/localhome/mhoellein/privat/time" ) ) {
+  print "Can't open TIMEFILE.\n";
+  exit 1;
+}
+
+sub getdmy {
+   return(split(/\./,shift(@_)));
+}
+
+sub getmin {
+   my($h,$m)=split(/:/,shift(@_));
+   return($h*60+$m);
+}
+sub gethm {
+   my $min=shift(@_);
+   my $sign=1;
+   $sign=$min/abs($min) if ($min != 0);
+   $min=abs($min);
+   $h=int($min/60);
+   $m=$min-($h*60);
+   if ($sign < 0) {
+      $result = sprintf("-%02d:%02d", $h, $m);
+   } else {
+      $result = sprintf(" %02d:%02d", $h, $m);
+   }
+   return($result);
+}
+
+$tagsolltmpl=468; # Tagessoll
+my %timetable;
+
+while( $line = <TIMEFILE> ) {
+   if ( "$line" !~ m/^[0-9][0-9]\.[0-9][0-9]\.20[0-9][0-9]/ ) {
+      print $line;
+      next;
+   }
+   chomp($line);
+   ($tag,$wtag,$von,$notused,$bis,$rest)=split(/ /,$line,6);
+   if ($von) {
+      my %h=( tag=>"$tag", von=>"$von", bis=>"$bis", bemerkung=>"$rest" );
+      my ($day,$month,$year)=getdmy($tag);
+      push @{$timetable{Day_of_Year($year,$month,$day)}}, \%h; 
+   }
+   else{
+      print STDERR "Zeile ".$.." wird wegen unvollständiger Daten ignoriert Line=\"".$line."\"\n" 
+   }
+}
+close TIMEFILE;
+
+#print Dumper(%timetable);
+#exit 0;
+
+($day,$month,$year)=getdmy($timetable{1}[0]->{'tag'});
+#($day,$month,$year)=(31,12,2013);
+
+$year_DE_SN = $calendar_DE_SN->year( $year );
+#printf STDERR "D %d M %d Y %d Week %d\n",$day,$month,$year,$lastweek;
+$weeksum=0;
+$overtime=0;
+$wsoll=0;
+#
+##foreach $n (sort {$a <=> $b} keys %timetable) { nur die im Hash enthaltenen
+$day_of_year = (localtime(time()))[7];
+#$day_of_year = 366;
+#$day_of_year = 365;
+for ($n=1; $n<=$day_of_year; $n++) {
+   my ($year,$month,$day) = Add_Delta_Days($year,1,1,$n-1); 
+   my $dow=Day_of_Week($year,$month,$day);
+   my $dayname=Day_of_Week_to_Text($dow);
+   my $flag="W";
+
+   if ($year_DE_SN->is_full($year,$month,$day) || $dow==6 || $dow==7 ) {
+      if ($dow==6 || $dow==7) {
+         $flag=" ";
+      }
+      else {
+         $flag="F";
+      }
+   }
+   else {
+      $wsoll+=$tagsolltmpl;
+   }
+      
+   if (defined $timetable{$n}[0]) {
+      foreach $we (@{$timetable{$n}}) {
+         my $v=$we->{'von'};
+         my $b=$we->{'bis'};
+         my $note=$we->{'bemerkung'};
+         my $von=getmin($v);
+         my $bis=getmin($b);
+         printf "%.2d.%.2d.%4d %2s %1s ",$day,$month,$year,substr($dayname,0,2),$flag;
+         if ($v~~/^[KUB]/){
+            $wsoll-=$tagsolltmpl; # Krankheits- und Urlaubstage und Betriebsruhe vom Wochensoll abziehen
+            printf "%-17s",$v;
+            $von=0; $bis=0;
+         }
+         else {
+            printf "%5s %5s %5s ",$v,$b,gethm($bis-$von);
+         }
+         printf "\t\t\t\t%s",$note if ($note);
+         $weeksum+=$bis-$von;
+         print "\n";
+      }
+   } 
+   else {
+      printf "%.2d.%.2d.%4d %2s %1s ",$day,$month,$year,substr($dayname,0,2),$flag;
+      print "                  ";
+      print "\n";
+   }
+
+   if ($dow==7 || $n==$day_of_year) {
+      $overtime+=$weeksum-$wsoll;
+      ($week,$notused) = Week_of_Year($year,$month,$day); 
+      printf "          Summe %2d. Woche : ", $week;
+      printf "%5s %5s %6s %6s\n\n",gethm($weeksum),gethm($wsoll),gethm($weeksum-$wsoll),gethm($overtime);
+      $weeksum=0;
+      $wsoll=0;
+   } 
+}
+
+exit 0;
+
+print Dumper(%timetable);
+
+# perl -e 'use Date::Calc qw(:all); Language (Decode_Language("Deutsch")); $year = (localtime(time()))[5];$year+=1900;   for ($n=1; $n<=(localtime(time()))[7]; $n++) {($year,$month,$day) = Add_Delta_Days($year,1,1,$n-1); $dow=Day_of_Week($year,$month,$day);$dayname=Day_of_Week_to_Text($dow);printf "%.2d.%.2d.%4d %2s %1s\n",$day,$month,$year,substr($dayname,0,2),"K";}'
diff --git a/catdat b/catdat
new file mode 100755 (executable)
index 0000000..b71aedc
--- /dev/null
+++ b/catdat
@@ -0,0 +1,50 @@
+#!/bin/sh
+MAXVAR=0
+COLOR=0
+FILES=""
+
+usage() {
+   echo "$0 [-c] FILE(s)"
+   exit 1
+}
+
+[ -z "$1" ] && usage
+while [ -n "$1" ] ; do
+    case $1 in
+        -c)       COLOR=1 ; shift ;;
+        *)        FILES="$FILES $1"; shift ;; 
+    esac
+done
+
+
+if [ $COLOR -eq 1 ]; then
+   set -- $(stty size) # Groesse des Terminals besorgen
+   LINES=$1
+   COLUMNS=$2
+fi
+
+for LINE in $(cat $FILES | pipefilt 1 | sed  -e "s/\([^·]*\)·\([^·]*\)·/\1·\2\n/g"); do
+   VAR=${LINE%·*}
+   VALUE=${LINE#*·}
+   if [ ${#VAR} -gt $MAXVAR ]; then
+      MAXVAR=${#VAR}
+   fi
+done
+
+let P=COLUMNS-MAXVAR-2
+AKTEBENE="-"
+cat $FILES | pipefilt 1 | sed  -e "s/\([^·]*\)·\([^·]*\)·/\1·\2\n/g" | while read LINE; do
+   VAR=${LINE%·*}
+   VALUE=${LINE#*·}
+   EBENE=$(echo $VAR | cut -d: -f2)
+   if [ "$EBENE" != "$AKTEBENE" ]; then
+      AKTEBENE=$EBENE
+      echo
+   fi 
+   if [ $COLOR -eq 1 ]; then
+      echo -e "\\033[42m$VAR\\033[0m\\033[300C\\033[$[${P}]D$VALUE"
+   else
+      printf "%-${MAXVAR}s %s\n" "$VAR" "$VALUE"
+   fi
+done
+# echo COLUMNS $COLUMNS MAXVAR $MAXVAR P $P
diff --git a/changeBackground.pl b/changeBackground.pl
new file mode 100755 (executable)
index 0000000..857c7e1
--- /dev/null
@@ -0,0 +1,69 @@
+#!/usr/bin/perl -w
+use strict;
+use warnings;
+use Image::Magick;
+
+### Start CONFIG
+
+my $searchPath = '/home/mhoellein/.hintergrundbilder/';
+my $switchTime = 300;            # time in seconds
+my $maxDimensions = '1920x1080';  # What's the max size of the photo. 
+                                 # They will be resized to this dimension 
+                                # if needed (lets two different sized 
+                                # pictures be placed side by side without funny blank space.
+
+### END CONFIG
+
+# bgotd-more -- background of the day (more)
+#
+# A pretty simple script which randomly picks a jpg/JPG/jpeg/JPEG photo to place as your 
+# Gnome desktop. If the photo is taller than it is wide, it finds another
+# taller-than-wide photo and puts them side by side with Imagemagick
+#
+# Written by Michael Moore, Nov. 2007
+# This work is hereby placed in the public domain 
+
+
+my $photoa = "";
+my $photob = "";
+my @photos = `find $searchPath -type f | grep [jJ][pP][eE]*[gG]`;              
+chomp(@photos);
+
+while(1)
+{
+    $photoa = $photos[rand($#photos)];
+    my $pa = new Image::Magick;
+    $pa->Read($photoa);
+    my ($ha,$wa) = $pa->Get('height','width');
+
+#    if($ha > $wa){
+#
+#      `cp "$photoa" /tmp/bgotda.jpg`; 
+#      `mogrify -resize $maxDimensions /tmp/bgotda.jpg`;
+#
+#      my $hb = 0;
+#      my $wb = 1;
+#      while($hb < $wb){
+#          $photob = $photos[rand($#photos)];
+#          my $pb = new Image::Magick;
+#          $pb->Read($photob);
+#          ($hb,$wb) = $pb->Get('height','width');
+#      }
+#
+#      `cp "$photob" /tmp/bgotdb.jpg`; 
+#      `mogrify -resize $maxDimensions /tmp/bgotdb.jpg`;
+#
+#      `convert /tmp/bgotda.jpg /tmp/bgotdb.jpg +append /tmp/bgotd.jpg`; 
+#    }
+#    else
+#    {
+       `cp "$photoa" /tmp/bgotd.jpg`; 
+#    }
+
+    `mogrify -resize $maxDimensions /tmp/bgotd.jpg`;
+
+    `cp /tmp/bgotd.jpg ~/.bgotd.jpg`;
+    `gconftool-2 --type string --set /desktop/gnome/background/picture_filename ~/.bgotd.jpg`;
+
+    sleep($switchTime);
+}
diff --git a/changeBackground.py b/changeBackground.py
new file mode 100755 (executable)
index 0000000..d3b9108
--- /dev/null
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+
+import gconf
+import os
+import random 
+import time
+from xml.dom.minidom import parse
+
+class GBackground:
+
+
+    def __init__ (self):
+        
+        self.backgroundsDB = '.gnome2/backgrounds.xml'
+
+        self.__initGConfClient()
+        self.__initDOM()
+
+        self.__files = []
+
+    def __initGConfClient (self):
+        self.__gclient = gconf.client_get_default()
+
+    def __initDOM (self):
+
+        db = os.path.join( os.environ['HOME'], self.backgroundsDB )
+
+        fh = open(db)
+        self.__dom = parse(fh)
+        fh.close()
+
+    def loadBackgrounds (self):
+
+        for wallpaper in self.__dom.getElementsByTagName('wallpaper'):
+
+            if wallpaper.getAttribute('deleted') == 'true':
+                continue
+
+            filename = wallpaper.getElementsByTagName('filename')[0].firstChild.nodeValue
+            self.__files.append(filename)
+
+    def setRandomBackground (self):
+
+        rnd = random.randint(0, len(self.__files) - 1)
+        self.setBackground( self.__files[rnd] )
+
+    def getBackground (self):
+        return self.__gclient.get_string('/desktop/gnome/background/picture_filename')
+
+    def setBackground (self, background):
+        self.__gclient.set_string ("/desktop/gnome/background/picture_filename", background)
+
+
+def main ():
+
+    gb = GBackground()
+    gb.loadBackgrounds()
+
+    while (1):
+        gb.setRandomBackground()
+        time.sleep(10)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/changeBackground_1.pl b/changeBackground_1.pl
new file mode 100755 (executable)
index 0000000..d3f6c63
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/perl -w
+use strict;
+use warnings;
+
+my $searchPath = '~/.hintergrundbilder/';   # Set to the directory you want to have searched for photos
+my $switchTime = 10;               # Edit to the number of seconds between photo switches
+
+# bgotd-- background of the day  
+# Written by Michael Moore, Nov. 2007, placed in the public domain 
+
+my @photos = `find $searchPath -type f | grep [jJ][pP][eE]*[gG]`;              
+chomp(@photos);
+my $photo;
+
+while(1)
+{
+    $photo = $photos[rand($#photos)];
+    `gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$photo"`;
+    sleep($switchTime);
+}
diff --git a/change_dat.sh b/change_dat.sh
new file mode 100755 (executable)
index 0000000..e87605d
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+while read daten
+do
+#      echo daten=$daten
+       for i in `echo $daten|cut -d"@" -f1`
+       do
+#              echo "i=$i"
+#              file=""
+               file=`find -iname \*${i}\*\.dat`
+               echo "R9995">>$file 
+#              echo "file=$file"
+#              nr=`echo $daten|cut -d"@" -f1`
+#              name=`echo $daten |cut -d"@" -f 2`
+#              adr=`echo $daten |cut -d"@" -f 3`
+#              ort=`echo $daten |cut -d"@" -f 4`
+#              newnum=`echo $daten |cut -d"@" -f 5`
+#              echo "newnum=newnum"
+#              if [ "${file}" != "" ]
+#              then
+#                      dir=`dirname ${file}`
+#                      echo "dir=$dir"
+#                      mv ${file} ${file}.save
+#                      echo "R0001 VERSION1kis" >> ${file}
+#                      echo "R0002 modscan_vocr_07110501" >> ${file}
+#                      echo "R0005 VERTRAG" >> ${file}
+#                      echo "R0120 ${name}" >> ${file}
+#                      echo "R0130 ${adr}" >> ${file}
+#                      echo "R0140 ${ort}" >> ${file}
+#                      echo `cat ${file}.save |grep R0300` >> ${file}
+#                      echo `cat ${file}.save |grep R0540` >> ${file}
+#                      echo `cat ${file}.save |grep R0550` >> ${file}
+#                      echo `cat ${file}.save |grep R0800` >> ${file}
+#                      echo `cat ${file}.save |grep R0801` >> ${file}
+#                      echo `cat ${file}.save |grep R0802` >> ${file}
+#                      echo `cat ${file}.save |grep R9000` >> ${file}
+#                      echo "R9995" >> ${file}
+#              fi
+       done
+done < ~/daten_lkw.csv
diff --git a/checkArchivDirForFiles.sh b/checkArchivDirForFiles.sh
new file mode 100755 (executable)
index 0000000..444a3a7
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+export LANG=de_DE.UTF-8
+HOMES_TO_CHECK=`ls /home/ |grep -v mhoellein|grep -v mreinwardt|grep -v ngeorgi|grep -v modscan`
+FIND=`which find`
+LS=`which ls`
+WC=`which wc`
+MAIL_TO=mhoellein@tbz-pariv.lan
+MAIL_FROM=mhoellein@tbz-pariv.lan
+
+
+sendMail() {
+       # $1 DIR - gsw
+       # $2 aktdir - /home/gsw/archiv
+       # $3 ANZ - 2
+       # $4 MAILTEXT - Es ist ein Fehler aufgetreten
+       if [ "$4" = "" ]; then
+               mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein<mhoellein@tbz-pariv.lan>' -s "env äöüß iso" -s "modscan_ama $1 Anzahl Dateien: $3" $MAIL_TO < /dev/null
+       else
+               echo ${4} |mail -S sendcharsets=sendcharsets=utf-8 -S encoding=8bit -S from='Mario Höllein<mhoellein@tbz-pariv.lan>' -s "env äöüß iso" -s "modscan_ama $1  --FEHLER--" $MAIL_TO 
+       fi
+#      echo "meine echo ausgabe: $4"
+}
+
+for DIR in $HOMES_TO_CHECK
+do
+       aktdir="/home/$DIR/archiv/"
+       ANZ=-1
+       MAILTEXT=""
+       if [ -d $aktdir ];then 
+               if [ -r $aktdir ]; then 
+                       ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_\*.dat |$WC -l`
+                       if [ $ANZ -gt 0 ]; then
+                               sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT"
+                       fi
+               else
+                       MAILTEXT="Verzeichnis $aktdir ist nicht lesbar."
+                       sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT"
+               fi
+       fi
+done
diff --git a/checkArchivDirForFiles_aktionEVK.sh b/checkArchivDirForFiles_aktionEVK.sh
new file mode 100755 (executable)
index 0000000..41ac41b
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+export LANG=de_DE.UTF-8
+HOMES_TO_CHECK="evk"
+FIND=`which find`
+LS=`which ls`
+WC=`which wc`
+MAIL_TO="mhoellein@tbz-pariv.lan skaule@tbz-pariv.lan skraemer@tbz-pariv.lan awade@tbz-pariv.lan"
+#MAIL_TO="mhoellein@tbz-pariv.lan"
+MAIL_FROM=mhoellein@tbz-pariv.lan
+
+
+sendMail() {
+       # $1 DIR - gsw
+       # $2 aktdir - /home/gsw/archiv
+       # $3 ANZ - 2
+       # $4 MAILTEXT - Es ist ein Fehler aufgetreten
+    # $5 MAIL_TO
+       echo $4 | mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein<mhoellein@tbz-pariv.lan>' -s "env äöüß iso" -s "modscan $1 Aktion - Anzahl Dateien: $3" $5
+#      echo "meine echo ausgabe: $4"
+}
+
+for DIR in $HOMES_TO_CHECK
+do
+       aktdir="/home/$DIR/incomming/Aktion_062017/"
+       ANZ=-1
+       MAILTEXT="Es befinden sich neuen Dateien im Eingang!"
+       if [ -d $aktdir ];then 
+               if [ -r $aktdir ]; then 
+                       ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_ablesekarten\*.png |$WC -l`
+                       if [ $ANZ -gt 0 ]; then
+                for i in $MAIL_TO
+                do
+                               sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" $i
+                done 
+                       fi
+               else
+                       MAILTEXT="Verzeichnis $aktdir ist nicht lesbar."
+            for i in $MAIL_TO
+            do  
+                       sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" $i
+            done
+               fi
+       fi
+done
diff --git a/checkArchivDirForFiles_modscan.sh b/checkArchivDirForFiles_modscan.sh
new file mode 100755 (executable)
index 0000000..7057a70
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+export LANG=de_DE.UTF-8
+HOMES_TO_CHECK=`ls /home/ |grep -v mhoellein|grep -v mreinwardt|grep -v ngeorgi|grep -v modscan`
+FIND=`which find`
+LS=`which ls`
+WC=`which wc`
+MAIL_TO=mhoellein@tbz-pariv.lan
+MAIL_FROM=modscan@tbz-pariv.lan
+
+
+sendMail() {
+       # $1 DIR - gsw
+       # $2 aktdir - /home/gsw/archiv
+       # $3 ANZ - 2
+       # $4 MAILTEXT - Es ist ein Fehler aufgetreten
+       if [ "$4" = "" ]; then
+        for m in $MAIL_TO; do
+               mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from=${MAIL_FROM} -s "env äöüß iso" -s "modscan_ama $1 Anzahl Dateien: $3" $m < /dev/null
+        done
+       else
+        for m in $MAIL_TO; do
+                   echo ${4} |mail -S sendcharsets=sendcharsets=utf-8 -S encoding=8bit -S from=$MAIL_FROM -s "env äöüß iso" -s "modscan_ama $1  --FEHLER--" $m 
+        done
+       fi
+#      echo "meine echo ausgabe: $4"
+}
+
+for DIR in $HOMES_TO_CHECK
+do
+       aktdir="/home/$DIR/archiv/"
+       ANZ=-1
+       MAILTEXT=""
+       if [ -d $aktdir ];then 
+               if [ -r $aktdir ]; then 
+                       ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_\*.dat |$WC -l`
+                       if [ $ANZ -gt 0 ]; then
+                               sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT"
+                       fi
+               else
+                       MAILTEXT="Verzeichnis $aktdir ist nicht lesbar."
+                       sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT"
+               fi
+       fi
+done
diff --git a/checkBelegeModwork.sh b/checkBelegeModwork.sh
new file mode 100755 (executable)
index 0000000..382a595
--- /dev/null
@@ -0,0 +1,48 @@
+#/bin/bash
+
+FINDDIR='/home/mhoellein/kuddelmuddel/'
+BASENAME='modscan_ama*.png.ocrnr'
+
+belegid_v=""
+page_v=""
+vk_v=""
+pz_v=""
+basename_v=""
+basename_without_picnr_v=""
+
+
+for d in `find ${FINDDIR} -iname ${BASENAME}|sort`
+do
+       #erste
+       if [ "$belegid_v" == "" ]; then
+               belegid=`cat $d |cut -d" " -f 1|cut -d"=" -f2`  
+               page=`cat $d |cut -d" " -f 2|cut -d"=" -f2`     
+               vk=`cat $d |cut -d" " -f 3|cut -d"=" -f2`       
+               pz=`cat $d |cut -d" " -f 4|cut -d"=" -f2`       
+               basename=`basename $d .png.ocrnr`
+               basename_without_picnr=`echo $basename |sed -e "s/..$//"`
+
+               belegid_v=${belegid}
+               page_v=${page}
+               vk_v=${vk}
+               pz_v=${pz}
+               basename_v=${basename}
+               basename_without_picnr_v=${basename_without_picnr}
+
+               echo "belegid=$belegid"
+               echo "page=$page"
+               echo "vk=$vk"
+               echo "pz=$pz"
+               echo "basename=$basename"
+               echo "basename_without_picnr=$basename_without_picnr"
+       else
+               #zweites oder weiteres
+               if [ "${basename_without_picnr_v}" == "${basename_without_picnr}" ]; then
+                       if [ $vk -eq $vk_v ]; then
+                               echo "${basename_without_picnr} is ok"
+                       fi
+               fi      
+       fi
+done
+
+
diff --git a/checkFilesImportedInWorkflow.sh b/checkFilesImportedInWorkflow.sh
new file mode 100755 (executable)
index 0000000..158fab4
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+CHECKDIR=/home/mhoellein/gasuf_copied/
+
+#while read line; 
+#do 
+#      if [ -e $CHECKDIR/${line} ];then
+#              echo "ok  ${line}"
+#              #mv /home/mhoellein/gasuf_checkfiles/$(basename $line .dat)* /home/mhoellein/gasuf_copied/
+#      else
+#              echo "nok ${line}"
+#      fi
+#done < ${CHECKDIR}/imported.txt
+
+#files in imported.txt
+for f in `ls $CHECKDIR/*.dat`
+do
+       FILE=`basename $f`
+       ERG=$(grep ${FILE} ${CHECKDIR}/imported.txt)
+       if [ "${ERG}" == "" ];then
+               echo $FILE
+       fi
+done
diff --git a/checkNumbersGasuf.sh b/checkNumbersGasuf.sh
new file mode 100755 (executable)
index 0000000..a67d4c9
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+
+file2=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv
+file1=/home/mhoellein/alle_isunummern_neuer_scan.txt
+
+if [ $# -eq 2 ]; then
+       file1=$1
+       file2=$2
+fi 
+#file1=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv
+#file2=/home/mhoellein/VK-Nummern_gasuf_excel_sorted.csv
+
+#file1=/home/mhoellein/VK-Nummern_gasuf_in_excel_nicht_in_MW.csv
+#file2=/home/mhoellein/VK-Nummern_gasuf_in_MW_nicht_in_Execel.csv
+
+
+#per hand verarbeitet vergleich zu gelieferter
+#file1=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv
+#file2=/home/mhoellein/gasuf_ohne_ocr_is-u_nummern_fertig.txt
+
+#file1=/home/mhoellein/VK-Nummern_gasuf_printed.csv
+
+miss=0
+while read line
+       do 
+       #echo "Nummer wird bearbeitets: $line"
+       grep -i ${line} $file1 2>&1 > /dev/null
+       ret=$?
+       #echo $ret
+       if [ $ret -eq 1 ];then
+               echo $line 
+               let miss=miss+1
+       fi
+done < $file2
+echo "anzahl fehlender Schreiben: $miss"
diff --git a/check_fail_png.sh b/check_fail_png.sh
new file mode 100755 (executable)
index 0000000..49198ee
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+for tar in `ls ~/import-done/*ama*.tar`
+       do
+       #echo $tar
+       tar -xf $tar
+       for b in `ls *ama*.png`
+               do ret=0
+               identify $b 2>/dev/null
+               ret=$?
+               if [ ${ret} -ne 0 ]; then
+                       echo "$b fehlerhaft"
+               fi
+       done
+       rm -rf /tmp/png_failtest/*.png
+       rm -rf /tmp/png_failtest/*.tar
+done
diff --git a/checkfield b/checkfield
new file mode 100755 (executable)
index 0000000..0eccea8
Binary files /dev/null and b/checkfield differ
diff --git a/checkinhalt b/checkinhalt
new file mode 100755 (executable)
index 0000000..1ae27b6
Binary files /dev/null and b/checkinhalt differ
diff --git a/convertMenuFile.sh b/convertMenuFile.sh
new file mode 100755 (executable)
index 0000000..0d87b56
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash
+#prefix="EGS_VA::"
+#prefix="GUF_VA::"
+prefix=$2
+while read line ; do
+       #echo $line
+       vorn=`echo $line |awk '{split($0,a,":");print a[1]}'`
+       hinten=`echo $line |awk '{split($0,a,":");print a[2]}'`
+       hinten=$(echo $hinten | sed -e "s/{//" -e "s/}//")
+       hh=$(echo $hinten |sed -e "s/ /_/g" -e "s/ä/ae/g" -e "s/ö/oe/g" -e "s/ä/ae/g" -e "s/ü/ue/g" -e "s/ß/ss/g")
+       echo ${prefix}${hh}:${vorn}/${hinten}
+done < $1 
diff --git a/convertTar2Lineart.sh b/convertTar2Lineart.sh
new file mode 100755 (executable)
index 0000000..0fa0aab
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+#DIR="/home/mhoellein/evk_to_copy/"
+DIR=`pwd`
+#echo "DIR=$DIR"
+for t in `ls $DIR/*.tar`
+do
+       mkdir /tmp/entpacken.$$
+       pushd /tmp/entpacken.$$
+       #echo "tar xf $t"
+       tar xf $t
+       for p in `ls *.png`
+       do
+               #pngtopnm $p | pgmenhance -5|pgmtopbm -threshold -value 0.6 |pnmtopng -background black > $(basename $p .png)_lineart.png
+               pngtopnm $p | convert -sharpen 2x2 +dither -posterize 3 -resize 70% - png:- |pngtopnm | pnmdepth 4 |pnmtopng > $(basename $p .png)_lineart.png
+               #convert -background black -monochrome  $p $(basename $p .png)_lineart.png
+               mv $(basename $p .png)_lineart.png $p
+       done
+       tar cf test.tar *.png
+       mv test.tar ${t}
+       popd
+       rm -rf /tmp/entpacken.$$
+done
diff --git a/convert_V2.tcl b/convert_V2.tcl
new file mode 100755 (executable)
index 0000000..c8bb435
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/tclsh
+if { ${argc} == 0 } {
+    puts "Datei angeben!"
+    exit
+}
+set filename [lindex $argv 0]
+set basename [file rootname [file tail $filename]]
+
+set fd [ open $filename r]
+set write [ open /tmp/${basename}_V3 w]
+while {[gets ${fd} line] >=0} {
+    set a ""
+    set b ""
+    set c ""
+    set orig $line
+    regsub -all {\^,\^} $line "·" line
+    regsub -all {\^} $line "" line
+    set a [split ${line} {·}]
+    for {set x 0} { $x < 13} {incr x} {
+        regsub "^  *" [lindex $a $x] "" b
+        lappend c ${b}
+    }
+    for {set y 0} { $y < 13} {incr y} {
+        if { $y != 12 } {
+            puts -nonewline $write "^[lindex $c $y]^,"
+        } else {
+            puts $write "^[lindex $c $y]^"
+        }
+        
+    }
+}
+close $fd
+close $write
diff --git a/convert_kadis2isu.tcl b/convert_kadis2isu.tcl
new file mode 100755 (executable)
index 0000000..3fe466b
--- /dev/null
@@ -0,0 +1,58 @@
+#! /usr/bin/wish -f
+
+#konvertiert den kadisabzug in isuformat
+#isunummern werden 000000 gesetzt und die felder
+#die nicht vorhanden sind leer
+
+
+#file wo kae im format 0123/12345 drin steht und dann
+#leerzeichen vertragstyp im format NETZ oder SV oder VA
+#beispiel:
+#0234/12345 NETZ
+#0123/0123 SV
+#0211/1020 VA
+set vertragstypen_file [open ./vertragstypen.txt r]
+
+#file wo alle kadiskunden drin sind, die nicht im ISU-abzug sind
+#format ist kadisformat, ohne leerzeichen und felder die nicht gebraucht werden
+#beispiel:
+#18374;Donauwörth;Ringingerstr. 1;98;0111;12079;3012;GOODWIN ANGELIKA;154;3012
+#18374;Donauwörth;Ringingerstr. 1;98;0111;19253;154;PIETSCH HANS;154;154
+#18301;Donauwörth;Nordstr. 34;101;0111;101;113;GEBHARDT JOHANN UND MARIA;93540;113
+#2952;Donauwörth;Industriestr. 11;169;0111;15933;184243;SERT AYLA;180;184243
+set kadis_kunden_n_i_ISU_file [open ./kadis_n_i_isu_list r]
+
+#outputfile, wo das fertige zeug hin soll
+set out [open ./output.file w]
+
+while {[gets $kadis_kunden_n_i_ISU_file line]>=0} {
+       set kundenlist [split ${line} ";"]
+       #kae setzen
+       set kae ""
+       regsub "^0" [lindex ${kundenlist} 4] "" kae
+       append kae [lindex ${kundenlist} 5]
+       #typ rausfinden
+       set typ ""
+#      while {[gets $vertragstypen_file l]>=0} {
+#              set typliste [split ${l} " "]
+#              regsub "^0" [lindex ${typliste} 0] "" kae_typ
+#              regsub "/" ${kae_typ} "" kae_typ
+#              set type [lindex ${typliste} 1]
+#              if { ${kae_typ} == ${kae} } {
+#                      if { "${type}" == "NETZ" } {
+#                              set typ 5020
+#                      }
+#              } 
+#      }
+       #schließen und neu öffnen, damit es wieder von vorn los geht
+#      close $vertragstypen_file
+#      set vertragstypen_file [open ./vertragstypen.txt r]     
+       #isu;name;adresse;plz_ort;isu;isu;seriennummer;kae;anschlussobjekt;abrechnungsklasse;vertragsendedatum;buchungskreis;lieferant
+       set outputline "000000;[lindex ${kundenlist} 7];[lindex ${kundenlist} 2];[lindex ${kundenlist} 1];000000;000000;;${kae};;;;${typ};EGS-L"
+       puts $out ${outputline}
+       flush $out
+}
+flush $out
+close $out
+close $vertragstypen_file
+close $kadis_kunden_n_i_ISU_file
diff --git a/convert_kadis2isu_new.tcl b/convert_kadis2isu_new.tcl
new file mode 100755 (executable)
index 0000000..271f27c
--- /dev/null
@@ -0,0 +1,66 @@
+#! /usr/bin/wish -f
+
+if { $argc != 3 } {
+       puts ""
+       puts "usage: [file tail $argv0] kadisfile vertragstypenfile output"
+       puts ""
+       puts "kadisfile - Abzug von Kadis ohne die unötigen Leerzeichen"
+       puts ""
+       puts "vertragstypenfile - Format KAE TYP"
+       puts "Beispiel : 0131/1020 NETZ"
+       puts ""
+       puts "output - File wo der fertige ISUABZUG hin soll"
+       exit
+} else {
+       set i 1
+       foreach arg $::argv {
+               set argv${i} ${arg}
+               incr i
+       }
+  }
+
+set vertragstypen_file [open $argv2 r]
+set kadis_kunden_n_i_ISU_file [open $argv1 r]
+set out [open $argv3 w]
+
+while {[gets $kadis_kunden_n_i_ISU_file line]>=0} {
+       set kundenlist [split ${line} ";"]
+       #kae setzen
+       set kae ""
+       #regsub "^0" [lindex ${kundenlist} 4] "" kae
+       set kae [lindex ${kundenlist} 11]
+       append kae [lindex ${kundenlist} 12]
+       #typ rausfinden
+       set typ ""
+#      while {[gets $vertragstypen_file l]>=0} {
+#              set typliste [split ${l} " "]
+#              regsub "^0" [lindex ${typliste} 0] "" kae_typ
+#              regsub "/" ${kae_typ} "" kae_typ
+#              set type [lindex ${typliste} 1]
+#              if { ${kae_typ} == ${kae} } {
+#                      if { "${type}" == "NETZ" } {
+#                              set typ 5020
+#                      }
+#              } 
+#      }
+       #schließen und neu öffnen, damit es wieder von vorn los geht
+#      close $vertragstypen_file
+#      set vertragstypen_file [open $argv2 r]  
+       #isu;name;adresse;plz_ort;isu;isu;seriennummer;kae;anschlussobjekt;abrechnungsklasse;vertragsendedatum;buchungskreis;lieferant
+       if {[lindex ${kundenlist} 8] != ""} {
+               set hnr " [lindex ${kundenlist} 8]"
+       }
+       if {[lindex ${kundenlist} 9] != ""} {
+               set hnrz " [lindex ${kundenlist} 9]"
+       } else {
+               set hnrz ""
+         }
+       set outputline "000000;[lindex ${kundenlist} 14];[lindex ${kundenlist} 7]${hnr}${hnrz};[lindex ${kundenlist} 6];000000;000000;;${kae};;;;5000;EGS-L"
+       puts $out ${outputline}
+       flush $out
+}
+flush $out
+close $out
+close $vertragstypen_file
+close $kadis_kunden_n_i_ISU_file
+exit
diff --git a/copyFilesToAllScanners.sh b/copyFilesToAllScanners.sh
new file mode 100755 (executable)
index 0000000..0cabc3d
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+hosts_egs="scanhv1 scanhv2 scanhv3 scanhv4 scanhv5 scanhv6 scandonauw scangz scankempten"
+archiv_egs=egs-archiv
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+archiv_esg=esg-archiv
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+archiv_ems=ems-archiv
+hosts_swm="swm-scan01"
+archiv_swm=swm-archiv
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+archiv_vis=vis-archiv
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs;ARCHIVSERVER=${archiv_egs};;
+       *esg*) hosts=$hosts_esg;ARCHIVSERVER=${archiv_esg};;
+       *ems*) hosts=$hosts_ems;ARCHIVSERVER=${archiv_ems};;
+       *swm*) hosts=$hosts_swm;ARCHIVSERVER=${archiv_swm};;
+       *vis*) hosts=$hosts_vis;ARCHIVSERVER=${archiv_vis};;
+       *evk*) hosts=$hosts_evk;ARCHIVSERVER=${archiv_vis};;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+               echo $1 $2
+       done 
+;;
+esac
diff --git a/copyLogfileToArchiv.sh b/copyLogfileToArchiv.sh
new file mode 100755 (executable)
index 0000000..24067cd
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+ARCHIV_SERVER=''
+ARCHIV_USER=modscan
+LOG_DIR=~/log/
+DEST_DIR=update/log/$HOSTNAME
+
+case $HOSTNAME in
+       *[Ee][Gg][Ss]*) ARCHIV_SERVER=egs-archiv ;;
+       *[Gg][Uu][Ff]*) ARCHIV_SERVER=guf-archiv ;;
+       *[Ee][Vv][Kk]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Ee][Ss][Mm]*) ARCHIV_SERVER=esm-archiv ;;
+       *[Ee][Vv][Gg]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Ll][Kk][Ww]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Ee][Rr][Ww]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Vv][Ii][Ss]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Ss][Ww][Kk]*) ARCHIV_SERVER=vis-archiv ;;
+       *[Ee][Mm][Ss]*) ARCHIV_SERVER=ems-archiv ;;
+       *[Ss][Hh][Oo]*) ARCHIV_SERVER=sho-archiv ;;
+       *[Gg][Ee][Ww]*) ARCHIV_SERVER=gew-archiv ;;
+       *[aA][pP][mM][hH][oO][eE][lL][lL][eE][iI][nN]*) ARCHIV_SERVER=apmhoellein ;;
+       *) ARCHIV_SERVER='' ;;
+esac
+[ -z $ARCHIV_SERVER ] &&  exit; 
+rsync -av ${LOG_DIR} ${ARCHIV_USER}@${ARCHIV_SERVER}:${DEST_DIR}
diff --git a/copyModscanCIM.sh b/copyModscanCIM.sh
new file mode 100644 (file)
index 0000000..fb76ba8
--- /dev/null
@@ -0,0 +1,2 @@
+FILES_TO_COPY_BIN="mod_cim.tcl modscan_cim.tcl hmdialog.tcl mod_std.tcl kundenmappen.functions.tcl recherche.tcl scancmd_scanadf"
+FILES_TO_COPY_ETC="LY_25x18_96.gif rotleft.gif rotright.gif contrast_hell.ppm contrast_dunkel.ppm pfeil.ppm bw.ppm gray.ppm contrast.ppm color.ppm barcode.tif"
diff --git a/copyPicturesFromNextcloud.sh b/copyPicturesFromNextcloud.sh
new file mode 100755 (executable)
index 0000000..13d1624
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+PWD=`/bin/pwd`
+
+NEXTCLOUDUSER="mhoellein susi nelly"
+NEXTCLOUDBASE="/localhome/nextcloud/data"
+
+SOFORTUPLOADBASE="files/SofortUpload/Camera"
+YEAR=`date +%Y`
+
+for _NEXTCLOUDUSER in $NEXTCLOUDUSER
+do
+       echo "rsync -av root@homeserver:$NEXTCLOUDBASE/$_NEXTCLOUDUSER/$SOFORTUPLOADBASE/$YEAR $PWD/"
+       rsync -av root@homeserver:$NEXTCLOUDBASE/$_NEXTCLOUDUSER/$SOFORTUPLOADBASE/$YEAR $PWD/ 
+done
diff --git a/copyrpm2gray b/copyrpm2gray
new file mode 100755 (executable)
index 0000000..911a471
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+SCRIPTNAME=${0##*/}
+case $SCRIPTNAME in
+   *test) EXTRA="-test";;
+   *) EXTRA="";;
+esac
+
+# /localhome/tbz-pariv/suse/10.3/SRPMS/gutenprint-5.2.7-35.2.src.rpm
+# /localhome/tbz-pariv/suse/10.3/x86_64/ghostscript-9.07-3.4.7.x86_64.openSUSE10.3.rpm
+for r in $*; do
+   DST=""
+   for dist in openSUSE10.2 openSUSE10.3 openSUSE11.1 openSUSE11.2 openSUSE11.3 openSUSE11.4 openSUSE12.3 openSUSE13.1 openSUSE13.2 openSUSE42.1 openSUSE42.2 openSUSE42.3; do
+      for arch in noarch x86_64 i586; do
+         case $r in
+            *$arch.$dist*) DST=/localhome/user/tbz-pariv/suse/${dist:8}$EXTRA/$arch/; LASTDDIST=${dist:8}$EXTRA ;;
+            *src.rpm) if  [ -n $LASTDDIST ]; then DST=/localhome/user/tbz-pariv/suse/$LASTDDIST/SRPMS; fi;;
+         esac
+      done
+   done
+   if [ -n "$DST" ]; then
+      echo "$r -> $USER@gray:$DST"
+      scp $r $USER@gray:$DST
+   else
+      echo "$r Kein Ziel gefunden"
+   fi
+done
diff --git a/createRFile.sh b/createRFile.sh
new file mode 100755 (executable)
index 0000000..c1854a2
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+#IFS_O="$IFS"
+#echo $IFS_O
+#echo $1
+#echo "----------------------"
+#export IFS=`read -d $'\0'`
+#declare RESULT=($(grep $1 AUSWERTUNG.csv))
+#echo "First line: ${RESULT[0]}"
+#echo "Second line: ${RESULT[1]}"
+#export IFS=
+#declare RESULT=($(grep --null $1 AUSWERTUNG.csv))
+#echo "First line: ${RESULT[0]}"
+#(read junk a b junk < <(grep $1 AUSWERTUNG.csv|paste -s))
+#for i in `grep --null $1 AUSWERTUNG.csv`
+#do
+#      echo $i
+#      echo "##########"
+#done
+       #export IFS="$IFS_O"
+       
+       #wert=`echo $i|cut -d"/" -f2`
+       #firstpart=`echo $line |csvread -c '^'|csvcut -n 2:91|csvwrite -d ',' -c '^'`
+       #lastpart=`echo $line |csvread -c '^'|csvcut -n -5:0 |csvwrite -d ',' -c '^'`
+       #echo ${firstpart},^${wert}^,${lastpart}
+       
+       #echo $firstpart 
+       #echo $lastpart
+       
+       #unset wert
+       #unset firstpart
+       #unset lastpart
+       #export IFS='\NUL'
+
+IFS=$(echo -en "\n\b")
+foo=($(grep $1 AUSWERTUNG.csv))
+length=`echo "${#foo[@]}"`
+length=`expr $length - 1`
+if [ -z "${length}" -o ${length} -lt 0 ];then
+       echo "$1 - keine Daten - length == $length" >> keineDaten.txt
+fi
+for i in `seq 0 $length`;
+do
+       line=`echo ${foo[$i]}`
+       wert=`echo ${foo[i]}|cut -d"/" -f2`
+       firstpart=`echo $line |csvread -c '^' -d ','|csvcut -n 2:91|csvwrite -d ',' -c '^'`
+       if [ -n "${firstpart}" ]; then
+               lastpart=`echo $line |csvread -c '^' -d ','|csvcut -n -5:0 |csvwrite -d ',' -c '^'`
+               echo ${firstpart},^${wert}^,${lastpart}
+       else
+               echo $line >> error.txt
+       fi
+done 
diff --git a/createRFile_EGS_Herbstaktion.sh b/createRFile_EGS_Herbstaktion.sh
new file mode 100755 (executable)
index 0000000..c8b432a
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+#create csv file with following format
+# CSV_RETURN_VALUE,^Lieferbeginn^,^SEPA-Unterschrift^,^Unterschrift^,^Werbung^,^Bonus^,^IPad^
+
+PWD=`pwd`
+
+reset() {
+       export Belegart="^^"
+       export CSV_RETURN_VALUE="^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^"
+       export Lieferbeginn="^^"
+       export SEPAUnterschrift="^^"
+       export Unterschrift="^^"
+       export Werbung="^^"
+       export Bonus="^^"
+       export IPad="^^"
+}
+
+workWithFile() {
+       #generate array with all things
+       line=""
+       while read line 
+       do
+               variable=`echo $line|cut -d" " -f1`
+               value=`echo $line|cut -d" " -f2-`
+               #echo "$variable =  $value"
+               case $variable in
+                       S0005)
+                                       Belegart=^$value^
+                                       ;;
+                       CSV_RETURN_VALUE)
+                                       CSV_RETURN_VALUE=$value
+                                       ;; 
+                       Lieferbeginn)
+                                       Lieferbeginn=^$value^
+                                       ;;
+                       SEPA-Unterschrift)
+                                       SEPAUnterschrift=^$value^
+                                       ;;
+                       Unterschrift)
+                                       Unterschrift=^$value^
+                                       ;;
+                       Werbung)
+                                       Werbung=^$value^
+                                       ;;
+                       Bonus)
+                                       Bonus=^$value^
+                                       ;;
+                       IPad)
+                                       IPad=^$value^
+                                       ;;
+                       *)
+               esac
+       done<${1}
+       echo $CSV_RETURN_VALUE,$Belegart,$Lieferbeginn,$SEPAUnterschrift,$Unterschrift,$Werbung,$Bonus,$IPad
+       reset
+}
+
+
+main() {
+       reset
+       for f in `ls $PWD/*.dat`
+       do
+#              echo  $f
+               workWithFile $f
+       done
+}
+main
+
+
diff --git a/cryptdir b/cryptdir
new file mode 100755 (executable)
index 0000000..07cf355
--- /dev/null
+++ b/cryptdir
@@ -0,0 +1,63 @@
+#!/bin/sh
+# \
+exec expect "$0" ${1+"$@"}
+# Name: cryptdir
+# Author: Don Libes, NIST
+#
+# Synopsis:
+#        cryptdir [dir]
+#      decryptdir [dir]
+#
+# Encrypt or decrypts the current directory or named directory if given.
+
+if {[llength $argv] > 0} {
+    cd $argv
+}
+
+# encrypt or decrypt?
+set decrypt [regexp "decrypt" $argv0]
+
+set timeout -1
+stty -echo
+send "Password:"
+expect -re "(.*)\n"
+send "\n"
+set passwd $expect_out(1,string)
+
+# Wouldn't want to encrypt/decrypt files with mistyped password!
+send "Again:"
+expect -re "(.*)\n"
+send "\n"
+if {![string match $passwd $expect_out(1,string)]} {
+    send_user "mistyped password?\n"
+    stty echo
+    exit
+}
+stty echo
+
+log_user 0
+foreach f [ glob * ] {
+    # strip shell metachars from filename to avoid problems
+    if {[regsub -all {[]['`~<>:-]} $f "" newf]} {
+       exec mv ${f} ${newf}
+       set f ${newf}
+    }
+
+    set strcmp [string compare .crypt [file extension $f]]
+    if {$decrypt} {
+       # skip files that don't end with ".crypt"
+       if {0!=$strcmp} continue
+       spawn sh -c "exec crypt < $f > [file root $f]"
+    } else {
+       # skip files that already end with ".crypt"
+       if {0==$strcmp} continue
+       spawn sh -c "exec crypt < $f > $f.crypt"
+    }
+    expect "key:"
+    send "$passwd\r"
+    expect
+    wait
+    exec rm -f $f
+    send_tty "."
+}
+send_tty "\n"
diff --git a/csv.tcl b/csv.tcl
new file mode 100755 (executable)
index 0000000..309ad41
--- /dev/null
+++ b/csv.tcl
@@ -0,0 +1,184 @@
+#!/usr/bin/tclsh
+
+proc usage {} {
+}
+
+proc file_readable { file } {
+       return [file readable $file]
+}
+
+proc open_file { file } {
+       if { [file_readable $file] } { return [ open $file r] }
+       return 0
+}
+
+proc get_spalten { fd sep } {
+       global header
+       gets $fd line
+       set fields [split ${line} ${sep}]
+       foreach i ${fields} {
+               regsub -all "  *" ${i} "" i
+               lappend header $i
+               set spalten(${i}) "${i}"
+       }
+       array get spalten
+}
+
+proc split_line { line } {
+       set sep ";"
+       set fields [split ${line} ${sep}]
+       foreach i ${fields} {
+               regsub -all "   *" ${i} "" i
+               lappend lw ${i}
+       }
+       return $lw
+}
+
+#not used
+proc get_line {line arr} {
+       upvar $arr sp
+               
+}
+
+proc write_newfile { fd data sep} {
+       set write_line ""
+       foreach i $data {
+               append write_line $i ${sep} 
+       }
+       set write_line [string trimright ${write_line} ${sep}]
+       puts $fd $write_line
+}
+
+proc show_line {arr} {
+       upvar $arr spalten
+       set w1 30
+       set w2 60
+       set sep +-[string repeat - $w1]-+-[string repeat - $w2]-+
+       puts $sep
+       puts [format "| %-*s | %-*s |" $w1 "Index" $w2 "Wert"]
+       foreach index [array names spalten] {
+               puts [format "| %*s | %*s |" $w1 $index $w2 $spalten($index)]
+       }
+} 
+
+#OK
+proc abfrage {} {
+       global header
+       set eingabe ""
+       puts ""
+       puts ""
+       puts "\t\tBitte die Position der einzelnen Spalten"
+       puts "\t\tin der zu erzeugenden csv Datei angeben."
+       puts ""
+       puts "\t\tSpaltenangaben beginnen bei 0 -> d.h. Spalte 0 ist die erste"
+       puts "\t\tnicht zu nutzende Spalten erhalten -1 oder nichts (ENTER)"
+       puts ""
+       puts ""
+       puts "\t\t----ACHTUNG ACHTUNG----"
+       puts "\t\tDie größte Zahl die genutzt wird, wird als cvs breite genutzt,"
+       puts "\t\td.h. wenn 10, dann wird die csv Datei 9 Spalten breit,"
+       puts "\t\tegal wieviele Spalten wirklich gewählt wurden!"
+       puts "\t\tBeispiel:"
+       puts "\t\t\tInhalt csv Datei:"
+       puts "\t\t\t\ts1;s2;s3;s4"
+       puts ""
+       puts "\t\t\tAuswahl durch Benutzer:"
+       puts "\t\t\t\ts1 -> Pos. 7, s2 -> Pos. 3, s3 -> Pos. 2, s4 -> Pos. 1"
+       puts "\t\t\tdaraus entsteht folgende csv Datei:"
+       puts "\t\t\t\ts4;s3;s2;;;;s1"
+       puts ""
+       puts ""
+       puts "so hier sind nun alle Spalten,"
+       puts "die in der csv Datei vorhanden sind:"
+       puts ""
+       set w1 30
+       set w2 30
+       set w3 30
+       set sep +-[string repeat - $w1]-+-[string repeat - $w2]-+-[string repeat - $w3]-+
+       puts $sep
+       puts [format "| %-*s | %-*s | %-*s |" $w1 "Spaltenbezeichnung" $w2 "Spaltenbezeichnung" $w3 "Spaltenbezeichnung"]
+       for {set i 0} {$i < [llength $header]} {incr i 3} {
+               if { [expr $i + 1 ] < [llength $header] && [expr $i + 2 ] < [llength $header] } {
+                       puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 \"[lindex $header [expr $i+1]]\" $w3 \"[lindex $header [expr $i+2]]\"]
+               } elseif {[expr $i + 1 ] < [llength $header] } {
+                       puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 \"[lindex $header [expr $i+1]]\" $w3 ""]
+               } else {
+                       puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 "" $w3 ""]
+               }
+       }
+       puts $sep
+       puts ""
+       set output ""
+       puts "Jetzt bitte Ihre Auswahl treffen!"
+
+
+       foreach i $header {
+               puts stdout "Spalte \"${i}\" an welche Position?"
+               gets stdin eingabe              
+               set eingabe [schonDrin $eingabe $output]
+               if { ${eingabe} == -1 || $eingabe == "" || [regexp "\[0-9\]\[0-9\]*" $eingabe] != 1} {
+#                      puts "\nlasse Spalte $i weg"
+               } else {
+#                      puts "\nSpalte $i kommt an Position $eingabe"
+                       lappend output [list ${i} ${eingabe}]
+               }
+               set eingabe ""
+       }
+#      puts "abfrage - output=$output"
+       return $output
+}
+
+proc schonDrin {eingabe output} {
+       foreach i $output {
+               if { [lindex $i 1] == $eingabe } {
+                       puts "Spalte \"${eingabe}\" schon verwendet, neu Spaltennummer eingeben!"               
+                       gets stdin eingabe
+                       schonDrin $eingabe $output
+               }
+       }
+       return $eingabe
+}
+
+proc get_data_newline {arr liste} {
+       #arr    -       array mit den zeilendaten
+       #liste  -       liste mit ordnung des outputs
+       set line {}
+       upvar $arr spalten
+       set liste [lsort -integer -index 1 $liste]
+       set biggest [lindex [lindex $liste end] 1]
+       set y 0
+       for {set x 0} {$x<$biggest} { incr x } {
+               if { [lindex [lindex $liste $y] 1] == [expr ${x}+1]} {
+                       lappend line $spalten([lindex [lindex $liste $y] 0])
+                       incr y
+               } else {
+                       lappend line {}
+               }
+       }
+       return $line
+}
+
+proc main { file } {
+       global header
+       set newfile /home/mhoellein/test_gasuf.csv
+       set fd [open_file $file]
+       set newfd [open $newfile w]
+       set sep ";"
+       array set spalten [get_spalten $fd $sep]
+       set output_order [abfrage]
+       while {[gets ${fd} line] > -1} {
+               set splitline [split_line $line]
+               for {set i 0} { $i < [llength $splitline] } { incr i} { 
+                       set spalten([lindex $header $i]) "[lindex $splitline $i]"
+               }
+               write_newfile $newfd [get_data_newline spalten $output_order] ${sep} 
+       }
+       close $fd
+       close $newfd
+}
+#usage
+#gets stdin varname
+main /home/mhoellein/gasuf_Gesamt_3200_3210_20111010_1.txt
+#main /home/mhoellein/test.csv
+#array set spalten [get_spalten [open_file /home/mhoellein/gasuf_Gesamt_3200_3210_20111010_1.txt]]
+#puts "[array get spalten Partner]"
diff --git a/csv2dat.tcl b/csv2dat.tcl
new file mode 100644 (file)
index 0000000..bc38942
--- /dev/null
@@ -0,0 +1,2 @@
+#!/usr/bin/tclsh
+
diff --git a/csvcut b/csvcut
new file mode 100755 (executable)
index 0000000..33a83a9
--- /dev/null
+++ b/csvcut
@@ -0,0 +1,111 @@
+#!/usr/bin/python
+# -*- coding: iso-8859-1 -*-
+from optparse import OptionParser
+import sys
+import re
+import csv
+
+from signal import signal, SIGPIPE, SIG_DFL, SIGINT
+signal( SIGPIPE, SIG_DFL )
+signal( SIGINT, SIG_DFL )
+
+# Optionen der Kommandozeile verarbeiten
+usage = '''>  %prog [options]
+
+  prints fields to stdout 
+  example:
+            %prog -n ...
+                  -n 1        # first field
+                  -n 1,4      # first and fourth field
+                  -n -1:0     # last two fields (0 is the last field)
+                  -n 1,1,6:10 # field number 1 twice and then field number 6 to 10
+
+            %prog -f VKONT    # field with head VKONT 
+
+  required input format: -d '\\t' -c '"' -q QUOTE_ALL
+
+  full help with "%prog --help"'''
+
+parser = OptionParser(usage=usage)
+parser.add_option("-n", "--fields",  dest="fields",  help="example: 0,2,10:20 (default: all)", action="store", default='')
+parser.add_option("-f", "--heads",   dest="heads",  help="example: VKONT,AKTIONSNR,NAME1:NAME10 (default: all)", action="store", default='')
+
+(options, args) = parser.parse_args()
+
+class RDialect(csv.Dialect):
+    _name = "rdialect"
+    delimiter = "\t" #Trennzeichen
+    quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt
+    escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE"
+    doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert
+    skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren
+    lineterminator = '\n'
+    quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"
+
+input_fd=sys.stdin
+
+field_list=[]
+def set_fieldlist(fields):
+    global field_list
+    if fields:
+        for num in fields.split(","):
+            nums=num.split(':')
+            if len(nums) == 1:
+                try:
+                    field_list.append(int(num)-1)
+                except:
+                    sys.stderr.write('%s not a valid list of numbers\n' % fields)
+                    sys.exit(1)
+            elif len(nums) == 2:
+                try:
+                    n0=int(nums[0])
+                    n1=int(nums[1])
+                except:
+                    sys.stderr.write('%s not a valid range of numbers\n' % nums)
+                    sys.exit(1)
+                for n in range(n0-1,n1):
+                    field_list.append(n)
+            else:
+                sys.stderr.write('%s not a valid range of numbers\n' % nums)
+                sys.exit(1)
+
+def head_to_fieldlist(csvhead):
+    new_headlist=[]
+    split_colon= options.heads.split(':')
+    for i in range(0,len(split_colon)):
+        split_comma=split_colon[i].split(',')
+        for j in range(0, len(split_comma)):
+            try:
+                new_headlist.append(str(csvhead.index(split_comma[j])+1))
+            except ValueError:
+                sys.stderr.write('head "%s" not in %s\n' % (split_comma[j], csvhead))
+                sys.exit(1)
+            if j < len(split_comma)-1:
+                new_headlist.append(',')
+        if i < len(split_colon)-1:
+            new_headlist.append(':')
+    return ''.join(new_headlist)
+
+if options.fields:
+    set_fieldlist(options.fields)
+
+rdialect=RDialect()
+reader=csv.reader(input_fd,  dialect=rdialect)
+writer=csv.writer(sys.stdout, dialect=rdialect)
+rownumber=0
+for row in reader:
+    if rownumber==0 and options.heads:
+        set_fieldlist(head_to_fieldlist(row))
+            
+    if field_list:
+        newrow=[]
+        for number in field_list:
+            try:
+                newrow.append(row[number])
+            except:
+                sys.stderr.write('column number %d does not exist\n' % number)
+                sys.exit(1)
+        writer.writerow(newrow)
+    else:
+        writer.writerow(row)
+    rownumber+=1
diff --git a/csvread b/csvread
new file mode 100755 (executable)
index 0000000..1c91f28
--- /dev/null
+++ b/csvread
@@ -0,0 +1,220 @@
+#!/usr/bin/python
+# -*- coding: iso-8859-1 -*-
+from optparse import OptionParser
+import sys
+import re
+import csv
+
+from signal import signal, SIGPIPE, SIG_DFL, SIGINT
+signal( SIGPIPE, SIG_DFL )
+signal( SIGINT, SIG_DFL )
+
+#http://groups.google.com/group/comp.lang.python/msg/3f30c55ceda9876b?hl=en
+class ReaderWithPushback(object):
+     def __init__(self, fd):
+         self.fd = fd
+         self.held = ''
+         self.sawEOF = False
+         self.stop=False
+
+     def read(self, length):
+         assert length > 0, length
+         while len(self.held) < length and not self.sawEOF:
+             chunk = self.fd.read(length - len(self.held))
+             if chunk:
+                 self.held += chunk
+             else:
+                 self.sawEOF = True
+         if len(self.held) > length:
+             self.held, result = (self.held[length :],
+                                  self.held[: length])
+         else:
+             self.held, result = '', self.held
+         if self.stop and not self.held:
+             self.read=self.fd.read
+             self.readline=self.fd.readline
+             self.__iter__=self.fd.__iter__
+         return result
+
+     def pushback(self, somestuff):
+         self.held = somestuff + self.held
+
+     def peek(self, length=1):
+         data = self.read(length)
+         self.pushback(data)
+         return data
+
+     def readline(self, char=None):
+         if char is None:
+             char='\n'
+         else:
+             assert len(char)==1, char
+         line=[]
+         while True:
+             c=self.read(1)
+             if not c:
+                 # EOF
+                 return ''.join(line)
+             line.append(c)
+             if c==char:
+                 return ''.join(line)
+     def stop_peeking(self):
+         '''
+         Alle Peeking was done, use real fd from now on.
+         '''
+         self.stop=True
+
+     def __iter__(self):
+         while True:
+             line=self.readline()
+             if not line:
+                 break
+             yield line
+
+DELIMITER=None
+QUOTECHAR=None
+QUOTE=None
+
+QUOTE_CHOICES=["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"]
+
+def bash_quote(string):
+    if   string == '\t': return "$'\\t'"
+    elif string == '"':  return "'\"'"
+    elif string == "'":  return '"\'"'
+    else:                return '"%s"' % string
+   
+def sniff():
+    global FIRSTLINE, DELIMITER, QUOTECHAR, QUOTE
+    firstline=input.readline()
+    sdialect=csv.Sniffer().sniff(firstline)
+    input.pushback(firstline)
+    input.stop_peeking()
+    DELIMITER = sdialect.delimiter
+    QUOTECHAR = sdialect.quotechar
+    QUOTE = sdialect.quoting
+
+    if options.detect:
+        print "-d %s -c %s -q %s" % (
+            bash_quote(DELIMITER),
+            bash_quote(QUOTECHAR),
+            QUOTE_CHOICES[QUOTE]),
+        sys.exit(0)
+
+# Optionen der Kommandozeile verarbeiten
+usage = u'''>  %prog [options] [infile]
+
+  %prog liest von STDIN oder [infile] und schreibt normalisiert nach STDOUT.
+  Die Ausgabe wird von "csvcut" und "csvwrite" verstanden.
+
+  Austauschformat: "AAA"\\t"BBB"\\"CCC"
+  entspricht den Optionen: -d '\\t' -c '"' -q QUOTE_ALL
+  
+  Beispiele:
+
+  EXCEL
+  > %prog -d ',' -c '"' -q QUOTE_MINIMAL --dos csvfile.csv
+
+  CSV-Kampagne
+  > %prog -d ',' -c ^ -q QUOTE_ALL
+
+  es reicht auch
+  > %prog -c ^
+
+  #################
+  Felder ausfiltern
+  #################
+  
+  Vertragskontonummer aus CSV-Datei mit Überschrift herausholen
+  > %prog -c ^ csvfile.csv | csvcut -f VKONT | csvwrite -q QUOTE_NONE
+
+  Die ersten zehn Felder au CSV-Datei
+  > cat csvfile.csv | %prog -c ^ | csvcut -n 1:10
+
+  Die Felder 2,3 und 5
+  > cat csvfile.csv | %prog -c ^ | csvcut -n 2,3,5
+
+  Die Felder 40 bis Zeilenende
+  > cat csvfile.csv | %prog -c ^ | csvcut -n 40:0
+
+  Das letzte Feld
+  > cat csvfile.csv | %prog -c ^ | csvcut -n 0
+
+  Alle Adresszeilen von LINE0 bis LINE9
+  > cat csvfile.csv | %prog -c ^ | csvcut -f LINE0:LINE9
+
+  '''
+
+parser = OptionParser(usage=usage)
+parser.add_option("-d", "--delimiter",   dest="delimiter",     help="delimiter between columns", action="store", default=None)
+parser.add_option("-c", "--quotechar",   dest="quotechar",     help="quotechar (quoting text)", action="store", default=None)
+parser.add_option("-q", "",              dest="quote",         help="QUOTE_MINIMAL QUOTE_ALL QUOTE_NONNUMERIC QUOTE_NONE", action="store", default=None)
+parser.add_option("--dos", "",           dest="dos",           help=r"DOS-linebreak \r\n (default: \n)", action="store_true", default=False)
+parser.add_option("--nodoublequote", "", dest="nodoublequote", help="no double qouting (default: no)", action="store_true", default=False)
+parser.add_option("--detect", "",        dest="detect",        help="print detected CSV-Format parameter", action="store_true", default=False)
+parser.add_option("--cols", "",          dest="cols",          help="print number of cols", action="store_true", default=False)
+
+
+(options, args) = parser.parse_args()
+
+
+if len(args) == 0:
+    input_fd=sys.stdin
+elif len(args) == 1:
+    input_fd=open(args[0], "rb")
+else:
+    parser.print_usage()
+    sys.exit(1)
+
+input= input=ReaderWithPushback(input_fd)
+
+sniff()
+
+if options.quote:
+    if options.quote not in QUOTE_CHOICES:
+        sys.stderr.write('quote "%s" not in (%s)\n' % (quote, ','.join(QUOTE_CHOICES)))
+        sys.exit(1)
+    
+if options.dos:
+    lineterminator='\r\n'
+else:
+    lineterminator='\n'
+
+class RDialect(csv.Dialect):
+    _name = "rdialect"
+    delimiter = options.delimiter or DELIMITER #Trennzeichen
+    quotechar = options.quotechar or QUOTECHAR #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt
+    escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE"
+    doublequote = not options.nodoublequote #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert
+    skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren
+    lineterminator = lineterminator
+    if options.quote:
+        quoting=getattr(csv, options.quote)
+    else:
+        quoting = QUOTE # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"
+
+rdialect=RDialect()
+
+reader=csv.reader(input, dialect=rdialect)
+
+#detect length
+if options.cols:
+    print len(reader.next())
+    sys.exit(0)
+
+
+class WDialect(csv.Dialect):
+    _name = "wdialect"
+    delimiter = "\t" #Trennzeichen
+    quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt
+    escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE"
+    doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert
+    skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren
+    lineterminator = '\n'
+    quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"
+
+wdialect=WDialect()
+writer=csv.writer(sys.stdout, dialect=wdialect)
+
+writer.writerows(reader)
+input_fd.close()
+
diff --git a/csvwrite b/csvwrite
new file mode 100755 (executable)
index 0000000..1274b2e
--- /dev/null
+++ b/csvwrite
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+# -*- coding: iso-8859-1 -*-
+from optparse import OptionParser
+import sys
+import re
+import csv
+
+from signal import signal, SIGPIPE, SIG_DFL, SIGINT
+signal( SIGPIPE, SIG_DFL )
+signal( SIGINT, SIG_DFL )
+
+# Optionen der Kommandozeile verarbeiten
+usage = '''>  %prog [options]
+
+  example: DOS-EXCEL
+
+    > %prog -d ',' -c '"' -q QUOTE_MINIMAL --dos
+
+  csv-writer with normalized output to stdout
+
+  required input format: -d '\\t' -c '"' -q QUOTE_ALL
+
+  full help with "%prog --help"'''
+
+parser = OptionParser(usage=usage)
+parser.add_option("-d", "--delimiter",   dest="delimiter",     help="delimiter between columns (default: ',')", action="store", default=',')
+parser.add_option("-c", "--quotechar",   dest="quotechar",     help="quotechar (quoting text) (default: '%default')", action="store", default='^')
+parser.add_option("-q", "",              dest="quote",         help="QUOTE_MINIMAL QUOTE_ALL QUOTE_NONNUMERIC QUOTE_NONE (default: %default)", action="store", default='QUOTE_ALL')
+parser.add_option("--dos", "",           dest="dos",           help=r"DOS-linebreak \r\n (default: \n)",    action="store_true", default=False)
+parser.add_option("--nodoublequote", "", dest="nodoublequote", help="no double qouting (default: no)", action="store_true", default=False)
+
+(options, args) = parser.parse_args()
+
+if options.quote not in ["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"]:
+    sys.stderr.write('quote "%s" not in (QUOTE_MINIMAL|QUOTE_ALL|QUOTE_NONNUMERIC)\n' % options.quote)
+    sys.exit(1)
+    
+if  len(args) != 0:
+    parser.print_usage()
+    sys.exit(1)
+
+if options.dos:
+    lineterminator='\r\n'
+else:
+    lineterminator='\n'
+
+class RDialect(csv.Dialect):
+    _name = "rdialect"
+    delimiter = "\t" #Trennzeichen
+    quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt
+    escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE"
+    doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert
+    skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren
+    lineterminator = '\n'
+    quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"
+
+rdialect=RDialect()
+reader=csv.reader(sys.stdin, dialect=rdialect)
+
+
+class WDialect(csv.Dialect):
+    _name = "wdialect"
+    delimiter = options.delimiter #Trennzeichen
+    quotechar = options.quotechar #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt
+    escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE"
+    doublequote = not options.nodoublequote #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert
+    skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren
+    lineterminator = lineterminator
+    quoting = getattr(csv, options.quote) # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"
+
+wdialect=WDialect()
+writer=csv.writer(sys.stdout, dialect=wdialect)
+writer.writerows(reader)
diff --git a/cutter b/cutter
new file mode 100755 (executable)
index 0000000..dd2005b
Binary files /dev/null and b/cutter differ
diff --git a/cvsdiff b/cvsdiff
new file mode 100755 (executable)
index 0000000..db4b79e
--- /dev/null
+++ b/cvsdiff
@@ -0,0 +1,3 @@
+#!/bin/sh
+REPVERS=`cvs status $1 | grep "Repository revision" | cut -d: -f2 | sed -e "s/[         ][      ]*/ /g" | cut -d" " -f2`
+cvs diff -r $REPVERS $1
diff --git a/cvsstatus b/cvsstatus
new file mode 100755 (executable)
index 0000000..85cde0b
--- /dev/null
+++ b/cvsstatus
@@ -0,0 +1,6 @@
+#!/bin/sh
+#cvs status |grep Status|sort -t":" +2
+
+cvs status 2>&1 | egrep "File|Examining" | grep -v "Status: Up-" 
+echo "Editors:"
+cvs editors
diff --git a/daemon.tcl b/daemon.tcl
new file mode 100755 (executable)
index 0000000..d5fc719
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/tclsh
+package require Tclx
+
+###configuration
+#Datei wo die zu übertragenden Scans drin sind
+set SENDFILE /tmp/send.txt
+#send2archiv binary
+set SEND2ARCHIVBIN /home/mhoellein/send2archiv_daemon
+#Logfile incl. Pfad
+set LOGFILE /tmp/daemon_log.txt
+#Lastrun - hier steht drin, wann der Daemon das letzte mal lief
+set LASTRUN /tmp/daemon_lastrun.txt
+#Zeit ab wann gearbeitet werden soll, bei -1 wird immer gesendet
+set SENDTIME -1
+#
+
+#SIGNALHANDLING
+set SIGNAL 0
+
+proc Log {logmessage} {
+       global LOGFILE
+       set fd [open $LOGFILE a+]
+       puts $fd ${logmessage}
+       close $fd
+}
+
+proc shutdown {} {
+       global SIGNAL
+       Log "shutdow wurde gerufen"
+       set SIGNAL 1
+}
+
+
+proc send2archiv {} {
+       global SIGNAL SENDFILE SEND2ARCHIVBIN
+       Log "send2archiv"
+       if {[file exists ${SENDFILE}] && [file readable ${SENDFILE}] && [file writable ${SENDFILE}] } {
+               set toSend ""
+               Log "öffne SENDFILE $SENDFILE"
+               set fd [open $SENDFILE r]
+               while {[gets ${fd} line] >=0} {
+                       Log "hänge an Liste an"
+                       lappend toSend ${line}
+               }
+               close $fd
+               Log "fd schließen"
+               foreach i $toSend {
+                       if { ${SIGNAL} } { exit }
+                       Log "$i - senden"
+                       #hier senden veranlassen
+                       if {[file exists ${i}]} {
+                               if {[file readable ${i}]}  {
+                                       if {[file writable ${i}]} {
+                                               #hier das eigentliche senden
+                                               set fehler ""
+                                               catch {exec $SEND2ARCHIVBIN ${i}} fehler
+                                               Log "FEHLER = $fehler"
+                                       } else {
+                                               Log "$i - nicht schreibbar"
+                                       }
+                               } else {
+                                       Log "$i - nicht lesbar"
+                               }
+                       } else {
+                               Log "$i - existiert nicht mehr"
+                       }
+                               
+               }
+       } else {
+               Log "${SENDFILE} nicht vorhanden, les- oder schreibbar"
+       }
+}
+
+proc dispatcher {} {
+       global LASTRUN
+       while 1 {
+               set fd [open ${LASTRUN} w]
+               puts $fd "send2archiv lief zuletzt [clock format [clock seconds]]"
+               close $fd
+               send2archiv
+               after 10000
+       }
+}
+
+proc daemonize {} {
+       close stdin
+       close stdout
+       close stderr
+       if {[fork]} {exit 0}
+       id process group set
+       if {[fork]} {exit 0}
+       id process group set
+       set fd [open /dev/null r]
+       set fd [open /dev/null w]
+       set fd [open /dev/null w]
+       cd /
+       umask 022
+       return [id process]
+}
+
+daemonize
+signal ignore  SIGHUP
+signal unblock {QUIT TERM}
+signal trap    {QUIT TERM} shutdown
+dispatcher
diff --git a/daemon_test.tcl b/daemon_test.tcl
new file mode 100755 (executable)
index 0000000..48f9647
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/tclsh
+package require Tclx
+proc shutdown {} {
+       exit
+}
+
+proc dispatcher {} {
+       while 1 {
+               set fd [open /tmp/lastrun w]
+               puts $fd "send2archiv lief zuletzt [clock format [clock seconds]]"
+               close $fd
+               sleep 60
+       }
+}
+
+proc daemonize {} {
+       close stdin
+       close stdout
+       close stderr
+       if {[fork]} {exit 0}
+       id process group set
+       if {[fork]} {exit 0}
+       id process group set
+       set fd [open /dev/null r]
+       set fd [open /dev/null w]
+       set fd [open /dev/null w]
+       cd /
+       umask 022
+       return [id process]
+}
+daemonize
+signal ignore  SIGHUP
+signal unblock {QUIT TERM}
+signal trap    {QUIT TERM} shutdown
+dispatcher
diff --git a/db.tcl b/db.tcl
new file mode 100755 (executable)
index 0000000..d1276d8
--- /dev/null
+++ b/db.tcl
@@ -0,0 +1,113 @@
+#!/usr/bin/wish
+
+package require Pgtcl
+
+#set conn [pg_connect -conninfo [list host = localhost user = modw dbname = modwork_esg_modw]]
+
+#pg_select $db "select * from gp_name" user {
+#      parray user
+#}
+
+
+
+
+
+proc insert_db {} {
+       global conn
+       set fp [open sampledata.csv]
+       #set conn [pg_connect -conninfo ""]
+
+       while {[gets $fp line] >= 0} {
+               set line1 [split $line "%"]
+               #puts "$line1"
+               #lassign ${line1} vertrag vknr gp_name gpnr verbrauchsstelle_strhnr verbrauchsstelle_plzort serialnr_erstes_geraet bez_anschlussobj abrechnungsklasse vertragsende buchungskreis_id lieferant kae
+               set vertrag [lindex $line1 76]
+               set vknr [lindex $line1 5]
+               set gp_name "[lindex $line1 8] [lindex $line1 9]"
+               set gpnr [lindex $line1 78] 
+               set verbrauchsstelle_strhnr "[lindex $line1 12] [lindex $line1 13] [lindex $line1 14]"
+               set verbrauchsstelle_plzort "[lindex $line1 15] [lindex $line1 16]"
+               set serialnr_erstes_geraet [lindex $line1 77]
+               set bez_anschlussobj "";#[lindex $line1 7]
+               set abrechnungsklasse "";#[lindex $line1 8]
+               set vertragsende "";#[lindex $line1 9]
+               set buchungskreis_id [lindex $line1 2]
+               set lieferant "";#[lindex $line1 11]
+               set kae "";#[lindex $line1 12]
+               #puts "$vertrag"
+               puts "$vertrag $vknr $gp_name $gpnr $verbrauchsstelle_strhnr $verbrauchsstelle_plzort $serialnr_erstes_geraet $bez_anschlussobj $abrechnungsklasse $vertragsende $buchungskreis_id $lieferant $kae"
+               #set statement "insert into modwork_isu_isu values ( DEFAULT, [pg_quote $vertrag], [pg_quote $vknr], [pg_quote $gp_name], [pg_quote $gpnr], [pg_quote $verbrauchsstelle_strhnr],  [pg_quote $verbrauchsstelle_plzort], [pg_quote $serialnr_erstes_geraet ], [pg_quote $bez_anschlussobj], [pg_quote $abrechnungsklasse ], [pg_quote $vertragsende ], [pg_quote $buchungskreis_id], [pg_quote $lieferant], [pg_quote $kae]);"
+               #set statement "insert into modwork_isu_isu values ( DEFAULT, DEFAULT, DEFAULT, [pg_quote $gp_name], DEFAULT, [pg_quote $verbrauchsstelle_strhnr],  [pg_quote $verbrauchsstelle_plzort], DEFAULT, DEFAULT, DEFAULT, DEFAULT, [pg_quote $buchungskreis_id], [pg_quote {}] , [pg_quote { }]);"
+       
+       
+       
+               #set result [pg_exec $conn $statement]
+               #puts "result: $result"
+               #if {[pg_result $result -status] != "PGRES_COMMAND_OK"} {
+       #               puts "[pg_result $result -error] executing '$statement'"
+#              }
+#              pg_result $result -clear
+       }
+}
+insert_db
+exit
+
+
+# id                      | integer                | not null default nextval('modwork_isu_isu_id_seq'::regclass)
+# vertrag                 | integer                |
+# vknr                    | integer                |
+# gp_name                 | character varying(100) | not null
+# gpnr                    | integer                |
+# verbrauchsstelle_strhnr | character varying(100) | not null
+# verbrauchsstelle_plzort | character varying(50)  | not null
+# serialnr_erstes_geraet  | character varying(20)  |
+# bez_anschlussobj        | character varying(64)  |
+# abrechnungsklasse       | character varying(2)   |
+# vertragsende            | date                   |
+# buchungskreis_id        | integer                |
+# lieferant               | character varying(32)  | not null
+# kae                 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#      set result [pg_exec $conn {prepare insert_peopletable (varchar, varchar, varchar, varchar, varchar, varchar) as insert into peopletable values ($1, $2, $3, $4, $5);}]
+#      if {[pg_result $result -status] != "PGRES_COMMAND_OK"} {
+#lassign $line name address city state zip
+#
+#         set statement "insert into peopletable values ( \
+#            [pg_quote $name], [pg_quote $address], [pg_quote $city] \
+#            [pg_quote $state], [pg_quote $zip]);"
+#\1a             puts "[pg_result $result -error] preparing statement"
+#              exit 1
+#      }
+#
+#      while {[gets $fp line] >= 0} {
+#              lassign $line name address city state zip
+#              set result [pg_exec_prepared $conn pgtest_insert_people $name $address $city $state $zip]
+#              if {[pg_result $result -status] != "PGRES_COMMAND_OK"} {
+#                      puts "[pg_result $result -error] inserting '$line'"
+#              }
+#              pg_result $result -clear
+#      }
+#}
+#
+#
+#
+#
+#
+#pg_disconnect $db
diff --git a/delOldesFilesIfHardiskFull.sh b/delOldesFilesIfHardiskFull.sh
new file mode 100755 (executable)
index 0000000..288fab0
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+#   solange mehr als 80% von /home belegt sind:
+#   lösche  
+#
+DF=`which df`
+DIR="/home/modscan/archiv/ /home/modscan/tmp/"
+
+while [ 0$(${DF} /home/ |sed -e 1d -e "s#  *# #g"|cut -d' ' -f 5 | tr -c -d "[:digit:]") -gt 80 ]; do
+        F=$(find ${DIR} -type f \( -iname '*.png' -or -iname '*.tar' -or -iname '*.dat' -or -iname '*.jpg' -or -iname '*.tif' \) -printf "%T@ %p\n" | sort -n | head -1 | awk '{print $2}')
+       [ -z "${F}" ] && exit 1
+       rm -v --interactive=never ${F}
+        #ls -l ${F}
+        #echo $(${DF} /home/)
+        #mv -v ${F} /tmp/
+done
+
diff --git a/deleteNumbersInFile.sh b/deleteNumbersInFile.sh
new file mode 100755 (executable)
index 0000000..600e059
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+fileToDelete=/home/mhoellein/gasuf/VK-Nummern_gasuf_in_MW_sorted.csv
+fileWithDataToDelete=/home/mhoellein/gasuf/gasuf_isunummern_selbst_gescannt.txt
+
+tmpfile=/tmp/salj8324uajr98avr
+
+rm -rf $tmpfile 
+cp $fileToDelete $tmpfile 
+
+while read line
+do
+       grep -v $line $tmpfile > /tmp/asfdlasfdas
+       mv /tmp/asfdlasfdas $tmpfile 
+done < ${fileWithDataToDelete}
diff --git a/doArchivPrefixNewWithBKNR.sh b/doArchivPrefixNewWithBKNR.sh
new file mode 100755 (executable)
index 0000000..7796de0
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/sh
+arraynumber=0
+for datFile in `find -iname \*vvsv\*.dat`
+do
+       echo $datFile
+       cp $datFile ${datFile}.doArchivPrefixNewWithBKNR_0
+       while read line
+       do
+               #echo $line
+               datLine[arraynumber]=${line}
+               arraynumber=$((arraynumber+1))
+               if [ "${line}" == "S9995" ]; then
+                       #echo "datensatzende erreicht"
+                       for singleDatFileLine in "${datLine[@]}"
+                       do
+                               tmpS0005=`echo $singleDatFileLine | egrep "^S0005"`
+                               tmpBUCHK=`echo $singleDatFileLine | egrep "^BUCHK"`
+                               if [ "$tmpS0005" != "" ];then
+                                       S0005=$tmpS0005;
+                               fi
+                               if [ "$tmpBUCHK" != "" ];then
+#                                      echo $tmpBUCHK
+                                       BUCHK=`echo $tmpBUCHK |cut -d" " -f2`;
+#                                      echo $BUCHK
+                               fi
+                       done    
+                       if [ "$BUCHK" != "" -a "$S0005" != "" ];then
+                               for singleDatFileLine in "${datLine[@]}"
+                               do
+                                       if [ "${singleDatFileLine:0:5}" = "S0005" ]; then
+#                                              echo  "erkannt: $singleDatFileLine"
+                                               prefix=`echo $singleDatFileLine |cut -d: -f1`
+                                               postfix=`echo $singleDatFileLine |cut -d: -f2-`
+#                                              echo "BUCHK=$BUCHK"
+                                               case $BUCHK in
+                                                       5000)
+                                                               prefix="S0005 EGS_VA:"
+                                                               ;;
+                                                       N5020)
+                                                               prefix="S0005 SNG_NETZ:"
+                                                               ;;
+                                                       5060)
+                                                               prefix="S0005 EAO_VA:"
+                                                               ;;
+                                                       N5060)
+                                                               prefix="S0005 EAO_VA:"
+                                                               ;;
+                                                       5070)
+                                                               prefix="S0005 EVB_STROM:"
+                                                               ;;
+                                                       5090)
+                                                               prefix="S0005 EVB_GAS:"
+                                                               ;;
+                                                       5130)
+                                                               prefix="S0005 EVB_EV_BOBINGEN:"
+                                                               ;;
+                                                       5140)
+                                                               prefix="S0005 SCHWABEN_REGENERATIV:"
+                                                               ;;
+                                                       *)
+                                                               prefix="S0005 UNBEKANNT:"
+                                                               ;;
+                                               esac 
+                                               datFileNew[i]=${prefix}${postfix}
+                                               unset prefix
+                                               unset postfix
+                                       else
+                                               datFileNew[i]=$singleDatFileLine
+                                       fi
+                                       i=$((i+1))
+                               done    
+                       fi
+                       arraynumber=0
+                       unset S0005
+                       unset datLine
+                       unset BUCHK
+                       
+               fi 
+       done < $datFile
+       i=0
+       rm -f $datFile
+       for singleDatFileLineNew in "${datFileNew[@]}"
+       do
+               echo $singleDatFileLineNew >> $datFile
+       done
+       unset datFileNew
+       unset datFileNew
+done
diff --git a/egsscanneron b/egsscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/emsscanneron b/emsscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/entpwd.sh b/entpwd.sh
new file mode 100644 (file)
index 0000000..476c132
--- /dev/null
+++ b/entpwd.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+umask 0002
+PATH=
+CAT="/bin/cat"
+MKTEMP="/bin/mktemp"
+AESPIPE="/usr/bin/aespipe"
+VI="/usr/bin/vi"
+CP="/bin/cp"
+SHRED="/usr/bin/shred"
+
+BINARIES="$CAT $MKTEMP $AESPIPE $VI $CP $SHRED"
+
+for x in $BINARIES; do
+   if [ ! -x ${x} ]; then
+      echo "Programm ${x} fehlt!"
+      exit 1
+   fi
+done
+
+TMPFILE=`$MKTEMP /tmp/tfile.XXXXXXXXXX`
+$CAT /media/mgostick2/uc | $AESPIPE -K ~/.ck.asc -d > $TMPFILE
+if [ -s $TMPFILE ]; then
+   $VI -n -b $TMPFILE
+   $CP --force /media/mgostick2/uc.4 /media/mgostick2/uc.5
+   $CP --force /media/mgostick2/uc.3 /media/mgostick2/uc.4
+   $CP --force /media/mgostick2/uc.2 /media/mgostick2/uc.3
+   $CP --force /media/mgostick2/uc.1 /media/mgostick2/uc.2
+   $CP --force /media/mgostick2/uc   /media/mgostick2/uc.1
+   $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > /media/mgostick2/uc
+   OK=$?
+   if [ $OK -ne 0 ]; then
+      $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > /media/mgostick2/uc
+   fi
+   echo -n "Weiter mit <RETURN> "
+   read II
+   $SHRED --force --remove $TMPFILE
+fi
diff --git a/esgscanneron b/esgscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/eval.tcl b/eval.tcl
new file mode 100755 (executable)
index 0000000..d34f074
--- /dev/null
+++ b/eval.tcl
@@ -0,0 +1,19 @@
+#!/usr/bin/wish
+
+
+set TREFFER ""
+set voll ""
+set isu ""
+set kae1 ""
+set kae2 ""
+set strasse "test"
+set ort ""
+set debitor ""
+set search ""
+foreach V "voll kae1 kae2 strasse debitor" {
+       if {[eval string length $${V}] > 0} {
+               puts $V
+               eval set search "${V}:*&"
+       }
+}
+puts $search
diff --git a/eventtester.tcl b/eventtester.tcl
new file mode 100755 (executable)
index 0000000..8a54781
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/wish
+proc output {keycode keysym detail } {
+       puts "keycode: $keycode keysym: $keysym detail: $detail"
+}
+entry .e
+pack .e
+bind .e <KeyRelease> {output %k %K %d} 
+bind .e <ButtonRelease> {output %k %K %d} 
diff --git a/evkscanneron b/evkscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/export.sh b/export.sh
new file mode 100755 (executable)
index 0000000..263336f
--- /dev/null
+++ b/export.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+export LC_NUMERIC="C"
diff --git a/filter3 b/filter3
new file mode 100755 (executable)
index 0000000..39e7f0f
Binary files /dev/null and b/filter3 differ
diff --git a/findDatNotInModwork.sh b/findDatNotInModwork.sh
new file mode 100755 (executable)
index 0000000..8bf6e03
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+PWD=`pwd`
+TMP='/tmp'
+
+MODWORK_USER=${1:-modwork_fm_p}
+MODWORK_SERVER=${2:-vis-work}
+DAYS_SEARCH_BACK={$3:-3}
+
+PID=$$
+FILELIST_TO_CHECK=fileToCheck.$PID
+
+FILELIST_TO_CHECK=`find $PWD -type f -iname modscan_workflow\*.dat -ctime -${DAYS_SEARCH_BACK}`
+
+scp $FILELIST_TO_CHECK ${MODWORK_USER}@${MODWORK_SERVER}:${TMP}/${FILELIST_TO_CHECK}
+ssh ${MODWORK_USER}@${MODWORK_SERVER} while read line; do grep /home/${MODWORK_USER}/log/impor*.log ${line} &>/dev/null;if [ $? -
diff --git a/find_kadis_not_in_isu.sh b/find_kadis_not_in_isu.sh
new file mode 100755 (executable)
index 0000000..f329250
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+#gibt alle Zeilen nach $3 aus, die nicht in $2 sind
+#stdout, wo die KAE leer
+
+if [ -z "${1}" -o -z "${2}" -o -z "${3}" ]
+then
+        echo "aufruf: $0 kadisabzug isuabzug output"
+        exit 1
+fi
+
+while read line
+do
+       kadis_kae=`echo ${line} | cut -d";" -f12,13 | sed -e "s/^0//" -e "s/;//"`
+       if [ -z "${kadis_kae}" ]
+       then
+               echo KAE leer in: $line
+       else
+               grep ";$kadis_kae;" $2 > /dev/null
+               ret=$?
+               if [ ${ret} -ne 0 ]
+               then
+                       echo ${line} >> $3
+               fi
+       fi
+done < $1
diff --git a/generateBelegartenFileFromModarch3.sh b/generateBelegartenFileFromModarch3.sh
new file mode 100644 (file)
index 0000000..de9551d
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+#
+#SELECT "modarch3_ordner"."id", "modarch3_ordner"."name", "modarch3_ordner"."longname", "modarch3_ordner"."mandant_id", "modarch3_ordner"."source", "modarch3_ordner"."query_url", "modarch3_ordner"."ordnergruppe_id", "modarch3_ordner"."form_template" FROM "modarch3_ordner" ORDER BY "modarch3_ordner"."longname" ASC; 
+#
+#SELECT "modarch3_belegartgruppe"."id", "modarch3_belegartgruppe"."name", "modarch3_belegartgruppe"."longname", "modarch3_belegartgruppe"."ordner_id" FROM "modarch3_belegartgruppe" WHERE "modarch3_belegartgruppe"."ordner_id" = 3;
+#
+#SELECT "modarch3_belegart"."id", "modarch3_belegart"."name", "modarch3_belegart"."longname", "modarch3_belegart"."ordner_id", "modarch3_belegart"."default", "modarch3_belegart"."source", "modarch3_belegart"."ignore" FROM "modarch3_belegart" INNER JOIN "modarch3_belegartgruppe_belegarten" ON ("modarch3_belegart"."id" = "modarch3_belegartgruppe_belegarten"."belegart_id") WHERE "modarch3_belegartgruppe_belegarten"."belegartgruppe_id" = 4;
+#
+#SELECT "modarch3_belegart"."id", "modarch3_belegart"."name", "modarch3_belegart"."longname", "modarch3_belegart"."ordner_id", "modarch3_belegart"."default", "modarch3_belegart"."source", "modarch3_belegart"."ignore" FROM "modarch3_belegart" LEFT OUTER JOIN "modarch3_belegartgruppe_belegarten" ON ("modarch3_belegart"."id" = "modarch3_belegartgruppe_belegarten"."belegart_id") WHERE ("modarch3_belegart"."ordner_id" = 3 AND "modarch3_belegartgruppe_belegarten"."belegartgruppe_id" IS NULL);
diff --git a/getEVKcsv.sh b/getEVKcsv.sh
new file mode 100755 (executable)
index 0000000..e1ce4cc
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/bash
+TEMP=$(getopt --long month:,day,year:,help -n 'getEVKcsv.sh' -o m:d:y:h -- "$@")
+eval set -- "$TEMP"
+while [ $# -ge 1 ]; do
+        case "$1" in
+                --)
+                    shift
+                    break
+                   ;;
+                -y|--year)
+                    year="$2"
+                    shift
+                    ;;
+                -m|--month)
+                    month="$2"
+                    shift
+                    ;;
+                -d|--day)
+                    day="$2"
+                    shift
+                    ;;
+                -h|--help)
+                    case "$2" in
+                        ""|*)
+                        echo "Estellt die Rückgabedatein der EVK Sommer 2017 Aktion" 
+                        echo "Wenn keine Parameter übergeben werden, wird das aktuelle Datum genutzt!"
+                        echo ""
+                        echo "$0 -d|--day \"01\" -m|--month \"07\" -y|--year \"2017\" -h|--help"
+                        shift 2
+                        exit ;;
+                    esac;;
+                *) echo "Internal error!" ; exit 1
+                    ;;
+        esac
+        shift
+done
+if [ -z $day ]; then
+    day=`date +%d`
+fi
+
+if [ -z $month ]; then
+    month=`date +%m`
+fi
+
+if [ -z $year ]; then
+    year=`date +%Y`
+fi
+
+if [ ! -d /home/evk/etc/3000036/Result/$year/$month/$day -a ! -d /home/evk/etc/3000037/Result/$year/$month/$day -a  ! -d /home/evk/etc/3000038/Result/$year/$month/$day ]; then
+    echo "Verzeichnis "/home/evk/etc/300003[678]/Result/$year/$month/$day" existiert nicht..."
+    exit 2
+fi
+
+csvlines=0
+for i in `find /home/evk/etc/300003[6,7,8]/Result/$year/$month/$day/ -type f`
+do
+    destination=`pwd`/`echo $i|cut -d'/' -f5`_`basename $i`
+    cp $i $destination 
+    outfilename=`basename $destination .csv`_out.csv
+    cat $destination | csvread -c '^' -d ',' |csvcut -f VKONT,WERT1|csvwrite -d ',' -c '^' > $outfilename 
+done
+
+sendMail() {
+    echo -e $mailtext| mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein<mhoellein@tbz-pariv.de>' -s"env äöüß iso" -s"${subject}" -a Result_$year$month${day}_EVK.zip -b sfehmel@tbz-pariv.de -b lgeissler@tbz-pariv.de -b mhoellein@tbz-pariv.de -c benjamin.gehrig@visconto.de michael-stephan.jaeger@visconto.de
+}
+
+generateRechnungsZeile() {
+    anz=`ls /home/evk/archiv/send2archive_Aktion_062017/$year/$month/$day/*.dat|wc -l`
+    echo -e "${day}.${month}.${year}  EVK_INFO030 3000000 $anz $anz*(AUSWERTUNG_EVK:4·)";
+}
+
+zip -e Result_$year$month${day}_EVK.zip *
+
+subject="EVK Aktion Rückspieldatei $year$month${day}"
+mailtext="Hallo Herr Jäger,\n\nanbei die Rückspieldatei vom ${day}.${month}.${year}.\n\nMit freundlichen Grüßen\n\nMario Höllein"
+generateRechnungsZeile
+read -p "Mail versenden? ja/nein: " answer
+case $answer in
+    j|y|ja|Ja|JA|yes|YES|Yes)
+        sendMail
+        exit 10
+        ;;
+    *)
+        exit 20
+        ;;
+esac 
diff --git a/getPicturesFromHomecloud.sh b/getPicturesFromHomecloud.sh
new file mode 100755 (executable)
index 0000000..d0d62b2
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+NEXTCLOUDUSERS="mhoellein nelly susi"
+NEXTCLOUDSERVER="home.hoellein.online"
+PWD=`pwd`
+if [ "$1" != "" ];then
+       NEXTCLOUDUSERS=$1
+fi
+
+#/localhome/nextcloud/data/mhoellein/files
+
+for u in $NEXTCLOUDUSERS
+do
+       rsync -av --rsh="ssh -p 1194" root@home.hoellein.online:/localhome/nextcloud/data/$u/files/SofortUpload/Camera/`date +%Y/%m`/ ${PWD}
+done
diff --git a/getScreen b/getScreen
new file mode 100755 (executable)
index 0000000..04e8d9f
--- /dev/null
+++ b/getScreen
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+if [ $1 = "" ]; then
+       echo "Scanhost angeben!"
+       echo "xvnc_scanrechner scanhost"
+fi
+echo "Passwort für root auf $1 eingeben:"
+ssh -t -L 5900:localhost:5900 root@${1} "x11vnc -localhost -nolookup -nopw -display :0 -auth \$(ps axuww | egrep 'Xorg.*-auth' | grep -v egrep | sed -e 's#^.*-auth *##' | awk '{print \$1}')"
diff --git a/getout.pl b/getout.pl
new file mode 100755 (executable)
index 0000000..c7adc89
--- /dev/null
+++ b/getout.pl
@@ -0,0 +1,8 @@
+#!/usr/bin/perl -w
+
+open(INFILE,$ARGV[0]);
+
+while (<INFILE>) {
+  print $_;
+}
+close(INFILE);
diff --git a/gis_datenaufbereitung.sh b/gis_datenaufbereitung.sh
new file mode 100755 (executable)
index 0000000..148b30f
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+datei1=/tmp/csv1.csv
+datei2=/tmp/csv2.csv
+cp "/home/mhoellein/Ort u Straßenverzeichnis Gesamt2.csv" /tmp/csv2.csv
+cp "/home/mhoellein/Ort u Straßenverzeichnis Gesamt.csv" /tmp/csv1.csv
+
+while read line
+do
+       ortnr=`echo $line |cut -d";" -f1`
+       egrep ";${ortnr}$" $datei2 > /tmp/$$
+       while read l
+       do
+               ortnr1=`echo $l |cut -d";" -f3`
+               echo "${l};`echo $line |cut -d\; -f2`" >> /tmp/gisdaten.csv
+       done < /tmp/$$
+done < "`echo $datei1`"
diff --git a/gufscanneron b/gufscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/hostl b/hostl
new file mode 100755 (executable)
index 0000000..d3f3278
--- /dev/null
+++ b/hostl
@@ -0,0 +1,5 @@
+#/bin/bash
+host -l tbz-pariv.lan
+host -l modarch.lan
+host -l dmz.lan
+host -l home.lan
diff --git a/ifconfig b/ifconfig
new file mode 100755 (executable)
index 0000000..f91bd74
Binary files /dev/null and b/ifconfig differ
diff --git a/insert_into_db_vertragsakten.sh b/insert_into_db_vertragsakten.sh
new file mode 100755 (executable)
index 0000000..168f5fa
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+DB=vertragsakten
+INPUTFILENAME=Strom_Gas_Vertr.csv
+INPUTDIR=/home/modftp/MODSCAN/VERTRAGSAKTEN
+TMP=/tmp
+TMPINPUTFILE=input.$$
+TMPOUTPUT=output.$$
+WEEKDAY=`date +%A`
+
+if [ -r $INPUTDIR/$INPUTFILENAME ]; then
+       cp $INPUTDIR/$INPUTFILENAME $TMP/$TMPINPUTFILE
+       dos2unix $TMP/$TMPINPUTFILE 2>/dev/null
+       recode latin1..utf-8 $TMP/$TMPINPUTFILE
+       sed -i -e 's/";"/\t/g' -e 's/"//g' $TMP/$TMPINPUTFILE
+       cat << EOF >> $TMP/$TMPOUTPUT
+drop table if exists test;
+CREATE TABLE test (
+    anlage character varying(50),
+    wegenr character varying(50),
+    vertrag character varying(50),
+    gpname character varying(80),
+    pk_anlage character varying(50),
+    sparte character varying(10),
+    vtrnr character varying(50),
+    plz character varying(50),
+    ort character varying(50),
+    strasse character varying(50),
+    hnr character varying(50),
+    hnrz character varying(50),
+    master_pk character varying(50),
+    pk_gp character varying(50),
+    syscrm_prod_installation_pk character varying(50),
+    pk_vertrag character varying(50),
+    volltext tsvector
+);
+COPY test (anlage, wegenr, vertrag, gpname, pk_anlage, sparte, vtrnr, plz, ort, strasse, hnr, hnrz, master_pk, pk_gp, syscrm_prod_installation_pk, pk_vertrag) FROM stdin;
+EOF
+       cat $TMP/$TMPINPUTFILE >> $TMP/$TMPOUTPUT
+cat << EOF >> $TMP/$TMPOUTPUT
+\.
+update test set volltext=to_tsvector( COALESCE(gpname,'') ||' '|| COALESCE(wegenr,'') ||' ' ||COALESCE(strasse,'') ||' ' ||COALESCE(ort,'') ||' '||COALESCE(plz,'') ||' '|| COALESCE(hnr,'') ||' '|| COALESCE(anlage,'') ||' '||COALESCE(vertrag,''));
+CREATE INDEX volltext_idx on test using gist(volltext);
+drop table if exists $WEEKDAY;
+ALTER TABLE va RENAME TO $WEEKDAY;
+ALTER TABLE test RENAME TO va;
+EOF
+       psql -f $TMP/$TMPOUTPUT $DB     
+fi
+rm -rf $TMP/$TMPOUTPUT
+rm -rf $TMP/$TMPINPUTFILE
diff --git a/istgleich.sh b/istgleich.sh
new file mode 100755 (executable)
index 0000000..1614ff7
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+
+if [ "hallo" = "hallo" ]
+then
+       echo "hallo = hallo"
+fi
+if [ "hallo" = "hall" ]
+then
+       echo "hallo = hall"
+fi
+if [ "hallo" == "hallo" ]
+then
+       echo "hallo == hallo"
+fi
+if [ "hallo" == "hall" ]
+then
+       echo "hallo == hall"
+fi
diff --git a/isu_test.sh b/isu_test.sh
new file mode 100755 (executable)
index 0000000..1d19a6b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+cat isuabzug | sed -e "s/   *//g" -e "s/\^000//g" -e "s/\^,/\^;/g" -e "s/\^//g" > isuabzug_test
+while read line ;do
+       teil1=`echo $line | cut -d";" -f"0-7"`
+       teil2=`echo $line | cut -d";" -f"8-" | sed -e "s/\///"`
+       echo -e ${teil1}";"${teil2} >> isuabzug_test1
+done < isuabzug_test
+
diff --git a/isu_zerfluecker b/isu_zerfluecker
new file mode 100755 (executable)
index 0000000..f6c5291
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+#vertragstypen.txt     ->zuordnung kae->netz oder vertrieb
+
+#egs_kadisabzug                ->kadisabzug
+
+#KUNDENDATEN_EGS       ->isuabzug
+
+if [ -z $1 -o -z $2 -o -z $3 ]; then
+       echo "aufruf: $0 kae->netzfile kadisabzug output"
+       exit 1
+fi
+
+
+
+while read line
+do
+       #echo "line: $line"
+       kae=`echo ${line} | cut -d" " -f1 | sed -e "s/\//;/" -e "s/^0//" -e "s/;/;000\*/"`
+       vart=`echo ${line} | cut -d" " -f2`
+       #echo "kae1: ${kae}"
+       if [ "${vart}" = "NETZ" ]
+       then
+               vart=5020
+       else
+               vart=""
+       fi
+       #echo "kae2 vart: $kae $vart"
+       grep "${kae};" $2 >> $3
+done < $1
diff --git a/kernels/ethash_baffin_lws128.bin b/kernels/ethash_baffin_lws128.bin
new file mode 100644 (file)
index 0000000..c0b84c0
Binary files /dev/null and b/kernels/ethash_baffin_lws128.bin differ
diff --git a/kernels/ethash_baffin_lws192.bin b/kernels/ethash_baffin_lws192.bin
new file mode 100644 (file)
index 0000000..52dfcbb
Binary files /dev/null and b/kernels/ethash_baffin_lws192.bin differ
diff --git a/kernels/ethash_baffin_lws256.bin b/kernels/ethash_baffin_lws256.bin
new file mode 100644 (file)
index 0000000..2c2c027
Binary files /dev/null and b/kernels/ethash_baffin_lws256.bin differ
diff --git a/kernels/ethash_baffin_lws64.bin b/kernels/ethash_baffin_lws64.bin
new file mode 100644 (file)
index 0000000..8f2ca6f
Binary files /dev/null and b/kernels/ethash_baffin_lws64.bin differ
diff --git a/kernels/ethash_ellesmere_lws128.bin b/kernels/ethash_ellesmere_lws128.bin
new file mode 100644 (file)
index 0000000..a782e14
Binary files /dev/null and b/kernels/ethash_ellesmere_lws128.bin differ
diff --git a/kernels/ethash_ellesmere_lws192.bin b/kernels/ethash_ellesmere_lws192.bin
new file mode 100644 (file)
index 0000000..e6f6638
Binary files /dev/null and b/kernels/ethash_ellesmere_lws192.bin differ
diff --git a/kernels/ethash_ellesmere_lws256.bin b/kernels/ethash_ellesmere_lws256.bin
new file mode 100644 (file)
index 0000000..33cdf25
Binary files /dev/null and b/kernels/ethash_ellesmere_lws256.bin differ
diff --git a/kernels/ethash_ellesmere_lws64.bin b/kernels/ethash_ellesmere_lws64.bin
new file mode 100644 (file)
index 0000000..412a622
Binary files /dev/null and b/kernels/ethash_ellesmere_lws64.bin differ
diff --git a/kernels/ethash_gfx901_lws128.bin b/kernels/ethash_gfx901_lws128.bin
new file mode 100644 (file)
index 0000000..4493a61
Binary files /dev/null and b/kernels/ethash_gfx901_lws128.bin differ
diff --git a/kernels/ethash_gfx901_lws192.bin b/kernels/ethash_gfx901_lws192.bin
new file mode 100644 (file)
index 0000000..2083cf3
Binary files /dev/null and b/kernels/ethash_gfx901_lws192.bin differ
diff --git a/kernels/ethash_gfx901_lws256.bin b/kernels/ethash_gfx901_lws256.bin
new file mode 100644 (file)
index 0000000..fc5339a
Binary files /dev/null and b/kernels/ethash_gfx901_lws256.bin differ
diff --git a/kernels/ethash_gfx901_lws64.bin b/kernels/ethash_gfx901_lws64.bin
new file mode 100644 (file)
index 0000000..6f7dd5d
Binary files /dev/null and b/kernels/ethash_gfx901_lws64.bin differ
diff --git a/kernels/ethash_tonga_lws128.bin b/kernels/ethash_tonga_lws128.bin
new file mode 100644 (file)
index 0000000..534c4c6
Binary files /dev/null and b/kernels/ethash_tonga_lws128.bin differ
diff --git a/kernels/ethash_tonga_lws192.bin b/kernels/ethash_tonga_lws192.bin
new file mode 100644 (file)
index 0000000..f192334
Binary files /dev/null and b/kernels/ethash_tonga_lws192.bin differ
diff --git a/kernels/ethash_tonga_lws256.bin b/kernels/ethash_tonga_lws256.bin
new file mode 100644 (file)
index 0000000..1d60291
Binary files /dev/null and b/kernels/ethash_tonga_lws256.bin differ
diff --git a/kernels/ethash_tonga_lws64.bin b/kernels/ethash_tonga_lws64.bin
new file mode 100644 (file)
index 0000000..e274696
Binary files /dev/null and b/kernels/ethash_tonga_lws64.bin differ
diff --git a/lkw_find_versand.sh b/lkw_find_versand.sh
new file mode 100755 (executable)
index 0000000..5bf8642
--- /dev/null
@@ -0,0 +1,14 @@
+#/bin/bash
+
+rm -rf /tmp/versand.csv
+for i in `find /home/modarch/archiv/scan/PCSCAN1/2009/ -type f -iname 3100002_\*.dat | xargs egrep -l "^VERSAND VERSAND"`
+do
+       #echo $i
+       name=""
+       str=""
+       plz=""
+       name=`cat $i |grep S0120 |sed -e "s/^S0120 //"`
+       str=`cat $i |grep S0230 |sed -e "s/^S0230 //"`
+       plz=`cat $i |grep S0240 |sed -e "s/^S0240 //"`
+       echo "${name};${str};${plz}" >> /tmp/versand.csv
+done 
diff --git a/load_icc.sh b/load_icc.sh
new file mode 100755 (executable)
index 0000000..0334d63
--- /dev/null
@@ -0,0 +1,2 @@
+#/bin/sh
+/home/mhoellein/.display/dispwin -I /home/mhoellein/.display/lg.icc
diff --git a/lock.tcl b/lock.tcl
new file mode 100755 (executable)
index 0000000..107ea12
--- /dev/null
+++ b/lock.tcl
@@ -0,0 +1,36 @@
+#!/usr/bin/wish
+if {[catch {package require Tclx} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket Tclx fehlt. Bitte installieren."
+    exit 1
+}
+# Paket BLT z.B. blt::tabset blt::busy
+if {[catch {package require BLT} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket BLT fehlt. Bitte installieren."
+    exit 1
+}
+set locked ""
+proc lock {} {
+       global fid locked
+       set locked [flock -nowait -write $fid]
+       puts "1 $locked lock"
+}
+
+proc ulock {} {
+       global fid locked
+       puts "1 $locked ulock"
+       if { $locked } { 
+               funlock $fid
+       } else {
+               puts "1 nicht gelockt"
+         }
+}
+
+while { 1 == 1 } {
+       set fid [open t w]
+       lock
+       after 10
+       ulock
+       close $fid
+}
diff --git a/lock1.tcl b/lock1.tcl
new file mode 100755 (executable)
index 0000000..cda5119
--- /dev/null
+++ b/lock1.tcl
@@ -0,0 +1,25 @@
+#!/usr/bin/wish
+if {[catch {package require Tclx} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket Tclx fehlt. Bitte installieren."
+    exit 1
+}
+# Paket BLT z.B. blt::tabset blt::busy
+if {[catch {package require BLT} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket BLT fehlt. Bitte installieren."
+    exit 1
+}
+while { 1 == 1 } {
+       set fid [open t w]
+       set locked [flock -nowait -write $fid]
+       if {$locked} {
+               puts "2 t gelockt"
+               after 1000
+               funlock $fid
+               close $fid
+       } else {
+               puts "2 t war gelockt"
+               close $fid
+       }
+}
diff --git a/locktester.tcl b/locktester.tcl
new file mode 100755 (executable)
index 0000000..08c82ea
--- /dev/null
@@ -0,0 +1,87 @@
+#!/usr/bin/wish
+if {[catch {package require Tclx} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket Tclx fehlt. Bitte installieren."
+    exit 1
+}
+# Paket BLT z.B. blt::tabset blt::busy
+if {[catch {package require BLT} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket BLT fehlt. Bitte installieren."
+    exit 1
+}
+proc karte_sperren {Log} {
+    # Input Variablen
+    global do_karte pfad_do
+    # Output Variablen
+    global fid_lock_karte lock_karte
+    # Sonstiges
+    global pfad_locks_eingang
+
+    set fid_lock_karte ""
+    set lock_karte [file join $pfad_locks_eingang $do_karte]
+    set fid [open ${lock_karte} w]
+    set locked 0
+    set locked [flock -nowait -write $fid]
+    if {$locked} {
+        set fid_lock_karte $fid
+    } else {
+        close $fid
+    }
+    if {$fid_lock_karte == ""} {
+       puts "lock fehlgeschlagen... $lock_karte"
+        set lock_karte ""
+    }
+}
+
+proc karte_freigeben {} {
+    global fid_lock_karte lock_karte
+    if {$fid_lock_karte == "" } {
+        global pfad_do
+        error "Karte kann nicht freigegeben werden, da sie nicht gesperrt ist: lock_karte $lock_karte $pfad_do"
+    }
+    funlock $fid_lock_karte
+    close $fid_lock_karte
+    file delete $lock_karte
+
+    set fid_lock_karte ""
+    set lock_karte ""
+}
+set HOSTNAME [lindex [split "[array get env HOST ]" " " ] 1]
+set pfad_locks_eingang "/localhome/mhoellein/lock_test"
+#do_karte ist das file was gelock werden soll
+set do_karte ""
+#ist das verzeichnis wo die karte die gelockt wird drin ist
+
+
+##hier über alle files und dann was in image0001.pnm reinschreiben
+while { 1 } {
+       set pfad_do "/localhome/mhoellein/lock_test_daten"
+       set dirs [glob -directory $pfad_do *]
+       set a 1
+       foreach i $dirs {
+               set pfad_do $i
+               set do_karte image${a} 
+               karte_sperren /localhome/mhoellein/lock_test/logfile.log
+               if {$fid_lock_karte != "" } {
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME start ${pfad_do}/image${a}"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} asklfdjalsjflasjfdlaösjfjasklfjklasjflasjflkjas"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} alskjdflkasjfdla"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} hoer gleich auf mit locking"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME fertig ${pfad_do}/image${a}"
+                       close $fd
+                       incr a
+                       karte_freigeben
+               }
+       }
+}
+
diff --git a/locktester1.tcl b/locktester1.tcl
new file mode 100755 (executable)
index 0000000..b70e830
--- /dev/null
@@ -0,0 +1,92 @@
+#!/usr/bin/wish
+if {[catch {package require Tclx} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket Tclx fehlt. Bitte installieren."
+    exit 1
+}
+# Paket BLT z.B. blt::tabset blt::busy
+if {[catch {package require BLT} fid] } {
+    tk_messageBox -type ok -icon warning \
+                  -message "Das Paket BLT fehlt. Bitte installieren."
+    exit 1
+}
+proc karte_sperren {Log} {
+    # Input Variablen
+    global do_karte pfad_do
+    # Output Variablen
+    global fid_lock_karte lock_karte
+    # Sonstiges
+    global pfad_locks_eingang
+
+    set fid_lock_karte ""
+    set lock_karte [file join $pfad_locks_eingang $do_karte]
+    set fid [open ${lock_karte} w]
+    set locked 0
+    set locked [flock -nowait -write $fid]
+    if {$locked} {
+        if {! [file exists $pfad_do] } {
+            file delete $lock_karte
+            close $fid
+        } else {
+            set fid_lock_karte $fid
+        }
+    } else {
+        close $fid
+    }
+    if {$fid_lock_karte == ""} {
+       puts "lock fehlgeschlagen... $lock_karte"
+        set lock_karte ""
+    }
+}
+
+proc karte_freigeben {} {
+    global fid_lock_karte lock_karte
+    if {$fid_lock_karte == "" } {
+        global pfad_do
+        error "Karte kann nicht freigegeben werden, da sie nicht gesperrt ist: lock_karte $lock_karte $pfad_do"
+    }
+    funlock $fid_lock_karte
+    close $fid_lock_karte
+    file delete $lock_karte
+
+    set fid_lock_karte ""
+    set lock_karte ""
+}
+set HOSTNAME postel1
+set pfad_locks_eingang "/localhome/mhoellein/lock_test"
+#do_karte ist das file was gelock werden soll
+set do_karte ""
+#ist das verzeichnis wo die karte die gelockt wird drin ist
+
+
+##hier über alle files und dann was in image0001.pnm reinschreiben
+while { 1 } {
+       set pfad_do "/localhome/mhoellein/lock_test_daten"
+       set dirs [glob -directory $pfad_do *]
+       set a 1
+       foreach i $dirs {
+               set pfad_do $i
+               set do_karte image${a} 
+               karte_sperren /localhome/mhoellein/lock_test/logfile.log
+               if {$fid_lock_karte != "" } {
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME start ${pfad_do}/image${a}"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} asklfdjalsjflasjfdlaösjfjasklfjklasjflasjflkjas"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} alskjdflkasjfdla"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME ${pfad_do}/image${a} hoer gleich auf mit locking"
+                       close $fd
+                       set fd [open ${pfad_do}/image${a} a+]
+                       puts $fd "$HOSTNAME fertig ${pfad_do}/image${a}"
+                       close $fd
+                       incr a
+                       karte_freigeben
+               }
+       }
+}
+
diff --git a/make_luke b/make_luke
new file mode 100755 (executable)
index 0000000..2560d8e
--- /dev/null
+++ b/make_luke
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+read -p "Key für firma vorhanden? (j/n) " -n 1 jn
+case $jn in
+       j|y|J|Y)        echo " gut";
+                       ;;
+       n|N)    echo
+                       echo Erstelle neuen Key für Firma!;
+               read -p "Firmenkürzel eingeben (z.B. erw): " ant
+               dd if=/dev/urandom of=/tmp/key.bin bs=4k count=1
+               base64 /tmp/key.bin > /tmp/key.${ant}
+               rm -rf /tmp/key.bin
+               echo "neuer Key für $ant erstellt in /tmp/key.${ant}"
+               ;;
+       *)      echo    
+                echo "Keine Ahnung!";
+               echo "und Tschüss...";
+               exit
+               ;;
+esac
+
+read -p "Platte verschlüsseln? (j/n) " -n 1 ant
+case $ant in
+       j|J|y|Y)        echo " Schön, los gehts.";
+                       ;;
+       n|N)            echo " Schade, schluß...";
+                       exit
+                       ;;
+       *)      echo    
+                echo "keine Ahnung!";
+               echo "und Tschüss...";
+               exit
+               ;;
+esac
+
+echo "Devices:"
+fdisk -l | egrep "^(Platte|Disk) /"
+read -p "device eingeben (Bsp.: /dev/sdb): " device
+fdisk $device <<EOF
+d
+
+n
+
+p
+
+1
+
+
+
+wq
+
+EOF
+echo ""
+echo "Passphrase muss nicht sicher sein, wird gleich wieder gelöscht!!!"
+echo ""
+cryptsetup luksFormat --cipher aes-cbc-essiv:sha256 ${device}1
+echo "Versuche verschlüsselte Platte zu laden..."
+cryptsetup luksOpen ${device}1 luksformatxxx
+sleep 3
+read -p "Label für Platte eingeben: " label
+echo "Erstelle Filesystem (xfs) mit Label ${label} ..."
+mkfs.xfs -f -L $label /dev/mapper/luksformatxxx
+sleep 2
+echo "Schließe verschlüsselte Platte"
+cryptsetup luksClose /dev/mapper/luksformatxxx
+if [ -s /var/lib/backup/etc/key.master ]; then
+   master=/var/lib/backup/etc/key.master
+   echo "Benutze $master als Master Key"
+else
+   read -p "Master Key angeben (z.B. /tmp/key.master): " master
+fi
+cryptsetup luksAddKey ${device}1 $master
+echo "lösche Passphrase..."
+cryptsetup luksDelKey ${device}1 0 --key-file $master
+if [ -n $(ls -1 /var/lib/backup/etc/key.???) ]; then
+   firma=$(ls -1 /var/lib/backup/etc/key.???)
+   echo "Benutze $firma als Firmen Key"
+else
+   read -p "Firmen Key angeben (z.B. /tmp/key.firma): " firma
+fi
+cryptsetup luksAddKey ${device}1 $firma --key-file $master
+echo "fertig..."
+echo ""
+read -p "Prüfung durchführen? (j/n) " -n 1 jn
+case $jn in
+       j|J|y|Y)      echo 
+               echo Master Key wird geprüft
+               cryptsetup luksOpen ${device}1 crypt --key-file $master
+               cryptsetup luksClose crypt
+               echo Firmen Key wird geprüft
+               cryptsetup luksOpen ${device}1 crypt --key-file $firma
+               cryptsetup luksClose crypt
+               ;;
+               
+       n|N) exit ;;
+       *) exit ;;
+esac
diff --git a/make_rueckgabe.sh b/make_rueckgabe.sh
new file mode 100755 (executable)
index 0000000..b782bdf
--- /dev/null
@@ -0,0 +1,200 @@
+#!/bin/bash
+
+SEARCH_PATH="/localhome/mhoellein/rueckgabe_evk/190110"
+#SEARCH_PATH="/home/mhoellein/rueckgabe_evk"
+ORIG_CSV="${SEARCH_PATH}/*.csv"
+ARCHIV_LISTE="${SEARCH_PATH}/archiv_liste.txt"
+anz_rueck=0
+anz_unterschied=0
+anz_gleich=0
+for VERTRAG in `cat $ARCHIV_LISTE |cut -d":" -f1 |sed -e s/^..*_// -e s/\.dat$// |sort|uniq -c |sort |sed -e "s/   *//g" -e "s/ /_/"`
+do
+       #echo "VERTRAG=$VERTRAG"
+       anzahl=`echo $VERTRAG |cut -d"_" -f 1`
+       vnum=`echo $VERTRAG |cut -d"_" -f 2`
+       #echo "anzahl=$anzahl vnum=$vnum"
+       if [ $anzahl -ne 1 ]; then
+               #mehr als ein treffer
+               vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat|sed -e s"/ /·/"`
+               for (( a=1 ; a<=$anzahl ; a++ ))
+               do
+                       v[$a]=`echo $vtyp |cut -d" " -f${a} | cut -d"·" -f 2`
+               done
+               erg=1
+               tmp=${v[1]}
+               for (( a=1 ; a<=$anzahl ; a++ ))
+               do
+                       if [ "${v[$a]}" != "$tmp" ]; then
+                               erg=0
+                               break
+                       fi
+               done
+               #v1=`echo $vtyp |cut -d" " -f1 | cut -d"·" -f 2`
+               #v2=`echo $vtyp |cut -d" " -f2 | cut -d"·" -f 2`
+               if [ $erg -eq 1 ]; then
+                       #anhängen, da vertrag gleich
+                       case ${v[1]} in
+                               EVK_B_E)
+                                       ret=5
+                               ;;
+                               EVK_B_S)
+                                       ret=4
+                               ;;
+                               EVK_OE_E)
+                                       ret=3
+                               ;;
+                               EVK_T1)
+                                       ret=1
+                               ;;
+                               EVK_T2)
+                                       ret=2
+                               ;;
+                               UNKLAR)
+                                       ret=6
+                               ;;
+                               *)
+                                       echo "FEHLER: VERTRAG=$VERTRAG"
+                                       echo "vtyp=$vtyp"       
+                                       echo "vnum=$vnum"
+                                       exit 2
+                               ;;      
+                       esac
+                       #echo "VERTRAGSTYP=$vtyp ret=$ret"
+                       if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then
+                               ((anz_gleich++))
+                               cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck
+                               for (( a=1 ; a<=$anzahl ; a++ ))
+                               do
+                                       echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/gleich1.txt
+                               done
+                               echo "---------------------------------------------" >> $SEARCH_PATH/gleich1.txt
+                       else
+                               echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                       fi
+               else
+                       #TODO hier noch pruefen ob unklar und vertrag -> dann i.o und vertrag nehmen
+                       #Vertrag unterschiedlich
+                       ergzahl=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq | wc -l` 
+                       erg=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq`
+                       if [ $ergzahl -gt 2  ]; then    
+                               #UNKLAR
+                               ret=6
+                               if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then
+                                       ((anz_unterschied++))
+                                       cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck
+                               else
+                                       echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                               fi
+                               echo "$VERTRAG - $vnum unterschiedlich"
+                               cat $ORIG_CSV | grep "\^00${vnum}\^" >> $SEARCH_PATH/unterschiedlich1.txt
+                               for (( a=1 ; a<=$anzahl ; a++ ))
+                               do
+                                       echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/unterschiedlich1.txt
+                               done
+                               echo "---------------------------------------------" >> $SEARCH_PATH/unterschiedlich1.txt
+                       else
+                               akt_vertr=""    
+                               for vtr in $erg
+                               do
+                                       if [ "${vtr}" != "UNKLAR" ]
+                                       then
+                                               if [ "$akt_vertr" = "" -o "$akt_vertr" = "$vtr" ]; then
+                                                       akt_vertr=$vtr
+                                               else
+                                                       akt_vertr=UNKLAR
+                                               fi
+                                       fi
+                               done
+                               if [ "$akt_vertr" = "" ]; then akt_vertr=UNKLAR; fi
+                               case $akt_vertr in
+                                       EVK_B_E)
+                                               ret=5
+                                       ;;
+                                       EVK_B_S)
+                                               ret=4
+                                       ;;
+                                       EVK_OE_E)
+                                               ret=3
+                                       ;;
+                                       EVK_T1)
+                                               ret=1
+                                       ;;
+                                       EVK_T2)
+                                               ret=2
+                                       ;;
+                                       UNKLAR)
+                                               ret=6
+                                       ;;
+                               esac
+                               if [ $ret -eq 6 ]; then
+                                       if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then
+                                               ((anz_unterschied++))
+                                               cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck
+                                       else
+                                               echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                                       fi
+                                       echo "$VERTRAG - $vnum unterschiedlich"
+                                       cat $ORIG_CSV | grep "\^00${vnum}\^" >> $SEARCH_PATH/unterschiedlich2.txt
+                                       for (( a=1 ; a<=$anzahl ; a++ ))
+                                       do
+                                               echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/unterschiedlich2.txt
+                                       done
+                                       echo "---------------------------------------------" >> $SEARCH_PATH/unterschiedlich2.txt
+                               else
+                                       if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then
+                                               ((anz_gleich++))
+                                               cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck
+                                               for (( a=1 ; a<=$anzahl ; a++ ))
+                                               do
+                                                       echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/gleich2.txt
+                                               done
+                                               echo "---------------------------------------------" >> $SEARCH_PATH/gleich2.txt
+                                       else
+                                               echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                                       fi
+                               fi
+                       fi
+               fi
+               
+       else
+               #ein treffer
+               vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat |cut -d: -f 2 |cut -d" " -f 2`
+               case $vtyp in
+                       EVK_B_E)
+                               ret=5
+                       ;;
+                       EVK_B_S)
+                               ret=4
+                       ;;
+                       EVK_OE_E)
+                               ret=3
+                       ;;
+                       EVK_T1)
+                               ret=1
+                       ;;
+                       EVK_T2)
+                               ret=2
+                       ;;
+                       UNKLAR)
+                               ret=6
+                       ;;
+                       *)
+                               echo "FEHLER: VERTRAG=$VERTRAG"
+                               echo "vtyp=$vtyp"       
+                               echo "vnum=$vnum"
+                               exit 1
+                       ;;      
+               esac
+               echo "einzelscan $vnum war $ret" >> $SEARCH_PATH/einzeln
+               if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then
+                       ((anz_rueck++))
+                       cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck
+               else
+                       echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+               fi
+       fi
+done
+       echo -e "Rueckgabe:\t\t\t\t$anz_rueck"
+       echo -e "gleiche:\t\t\t\t$anz_gleich"
+       echo -e "unterschiedlich:\t\t\t$anz_unterschied"
+       echo -e "Rueckgabe:\t\t\t$anz_rueck\ngleiche:\t\t\t$anz_gleich\nunterschiedlich:\t\t$anz_unterschied" > statistik
diff --git a/make_rueckgabe.tcl b/make_rueckgabe.tcl
new file mode 100755 (executable)
index 0000000..b8def6b
--- /dev/null
@@ -0,0 +1,116 @@
+#!/usr/bin/tclsh
+
+set csv_file [open /tmp/MA3100_002.csv.orig r]
+set csv_rueck [open /tmp/rueck w]
+set dat_file [open /tmp/datlist r]
+
+proc pruefe_csvfile {fid} {
+       set ln "-1"
+       set lb "-1"
+       while {[gets $fid line]>=0} {
+               set ln [llength [split_csv ${line}]]
+               if { $lb != "-1" && $ln != $lb } {
+                       return 0
+               }
+       }
+       return 1
+}
+
+proc create_csvliste {fid} {
+       set csv_list {}
+       while {[gets $fid l]>=0} {
+               lappend csv_list $l 
+       }
+       return $csv_list
+}
+
+proc split_csv {line} {
+       set csv_list {}
+       while {[string length $line] > 0} {
+               if [regexp "^\\^\[^^\]*\\^" $line ausdruck] {
+                       lappend csv_list [string range $ausdruck 1 end-1]
+                       set line [string range $line [expr [string length $ausdruck]+1] end]
+               } else {
+                       return $csv_list
+               }
+       }
+       return $csv_list
+}
+
+proc ldelete {liste elem} {
+       if { ($elem < [llength $liste]) && ($elem != 0) } {
+               return "[lrange $liste 0 [expr ${elem}-1]] [lrange $liste [expr ${elem}+1] end]"
+       } elseif { $elem == 0 } {
+               return [lrange $liste 1 end]
+       } elseif { $elem == [expr [llength $liste]-1] } {
+               return [lrange $liste 0 [expr [llength $liste]-1]]
+       }
+       return $liste
+}
+
+proc lchange {liste elem wert} {
+       if { ($elem != 0) && ($elem < [expr [llength $liste]-1])} {
+               return "[lrange $liste 0 [expr $elem-1]] ${wert} [lrange $liste [expr $elem+1] end]"
+       } elseif { $elem == 0 } {
+               return "${wert} [lrange $liste 1 end]"
+       } elseif { $elem == [expr [llength $liste]-1] } {
+               return "[lrange $liste 0 [expr [llength $liste]-2]] ${wert}"
+       }
+       return $liste
+}
+
+
+proc sap_csv_line {liste} {
+       set line ""
+       for {set x 0} {$x<[llength $liste]} {incr x} {
+               if { $x < [expr [llength $liste]-1] } {
+                       append line "^[lindex $liste $x]^,"
+               } else {
+                       append line "^[lindex $liste $x]^"
+               }
+       }
+       return $line
+}
+
+
+set csv_orig [create_csvliste $csv_file]
+
+while {[gets $dat_file line]>=0} {
+       #einzelne datfiles oeffnen
+       set ret ""
+       set fd [open $line r]
+       while {[gets $fd l]>=0} {
+               if { [lindex [split $l " "] 0] == "DATEN" } {
+                       set datdaten ""
+                       regsub "^DATEN " $l "" datdaten
+                       set datdaten [split_csv $datdaten]
+               }
+               if { [lindex [split $l " "] 0] == "VERTRAG" } {
+                       switch [lindex [split $l " "] 1] {
+                               LKW_T1 { set ret 6  }
+                               LKW_T2 { set ret 7  }
+                               LKW_B_E { set ret 2 }
+                               LKW_G { set ret 3 }
+                               LKW_B_S { set ret 4 }
+                               LKW_N_E { set ret 5 }
+                       }
+               }
+       }
+#      for {set x 0} {$x<[llength $csv_orig]} {incr x} {
+#              if { strint match "[lindex $csv_orig $x]" == "[sap_csv_line $datdaten]" } {
+#                      set csv_orig [ldelete $csv_orig $x]
+#              }
+#      }
+       puts $csv_rueck "[sap_csv_line [lchange $datdaten [expr [llength $datdaten]-2] $ret]]"
+       close $fd
+}
+
+
+#set csv_keine [open /tmp/keineAntwort w]
+#for {set x 0} {$x<[llength $csv_orig]} {incr x} {
+#      puts $csv_keine [sap_csv_line [split_csv [lindex $csv_orig $x]]]
+#}
+#close $csv_keine
+close $csv_file
+close $csv_rueck
+close $dat_file 
diff --git a/make_rueckgabe_ems.sh b/make_rueckgabe_ems.sh
new file mode 100755 (executable)
index 0000000..208b6d8
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+#SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/"
+#SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/temp_today/"
+SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/050110/"
+#SEARCH_PATH="/home/mhoellein/rueckgabe_evk"
+#CSV_LIST="${SEARCH_PATH}/0718062_EMS_Ideal.csv ${SEARCH_PATH}/0718068_EMS_STAND.csv ${SEARCH_PATH}/0719076_GSZ_Ideal.csv ${SEARCH_PATH}/0719081_GSZ_Standard.csv ${SEARCH_PATH}/0718065_EMS_FIX1.csv ${SEARCH_PATH}/0719079_GSZ_FIX1.csv"
+CSV_LIST=`ls ${SEARCH_PATH}/*.csv`
+#ORIG_CSV="${SEARCH_PATH}/angeschrieben_gesamt.csv"
+ARCHIV_LISTE="${SEARCH_PATH}/archiv_liste.txt"
+for ORIG_CSV in $CSV_LIST
+do
+       ARCHIV_LISTE="${SEARCH_PATH}/`basename $ORIG_CSV .csv`.kun"
+       #ARCHIV_LISTE="$ORIG_CSV"
+       anz_rueck=0
+       anz_unterschied=0
+       anz_gleich=0
+       for VERTRAG in `cat $ARCHIV_LISTE |cut -d":" -f1 |sed -e s/^..*_// -e s/\.dat$// |sort|uniq -c |sort |sed -e "s/   *//g" -e "s/ /_/"`
+       do
+               #echo "VERTRAG=$VERTRAG"
+               anzahl=`echo $VERTRAG |cut -d"_" -f 1`
+               vnum=`echo $VERTRAG |cut -d"_" -f 2`
+               #echo "anzahl=$anzahl vnum=$vnum"
+               if [ $anzahl -ne 1 ]; then
+                       #mehr als ein treffer
+                       if [ $anzahl -gt 2 ]; then echo "ACHTUNG Anzahl=$anzahl!!!" ; fi
+                       vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat|sed -e s"/ /·/"`
+                       v1=`echo $vtyp |cut -d" " -f1 | cut -d"·" -f 2`
+                       v2=`echo $vtyp |cut -d" " -f2 | cut -d"·" -f 2`
+                       if [ "${v1}" = "${v2}" ]; then
+                               #anhängen, da vertrag gleich
+                               case $v1 in
+                                       GAS)
+                                               ret=1
+                                       ;;
+                                       TREUE)
+                                               ret=2
+                                       ;;
+                                       *)
+                                               echo "FEHLER: VERTRAG=$VERTRAG"
+                                               echo "vtyp=$vtyp"       
+                                               echo "vnum=$vnum"
+                                               ret=9
+                                               exit 2
+                                       ;;      
+                               esac
+                               #echo "VERTRAGSTYP=$vtyp ret=$ret"
+                               if [ `cat $ORIG_CSV |grep -Ec "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then
+                                       ((anz_gleich++))
+                                       #scheisse, hier ist mist passiert, weil ich -e anstatt -E geschrieben habe
+                                       cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}_doppel_gleich.rueck
+                               else
+                                       echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                               fi
+                       else
+                               #Vertrag unterschiedlich
+                               ret=8
+                               if [ `cat $ORIG_CSV |grep -Ec "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then
+                                       ((anz_unterschied++))
+                                       cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}_doppel_unterschiedlich.rueck
+                               else
+                                       echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                               fi
+                               echo "$VERTRAG - $vnum unterschiedlich"
+                               cat $ORIG_CSV | grep "\^${vnum}\^" >> ${ORIG_CSV}.unterschiedlich
+                               echo "Vertrag war $v1 != $v2" >> ${ORIG_CSV}.unterschiedlich
+                               echo "--"
+                       fi
+                       
+               else
+                       #ein treffer
+                       vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat |cut -d: -f 2 |cut -d" " -f 2`
+                       case $vtyp in
+                               GAS)
+                                       ret=1
+                               ;;
+                               TREUE)
+                                       ret=2
+                               ;;
+                               *)
+                                       echo "FEHLER: VERTRAG=$VERTRAG"
+                                       echo "vtyp=$vtyp"       
+                                       echo "vnum=$vnum"
+                                       ret=9
+                                       exit 1
+                               ;;      
+                       esac
+                       #echo "VERTRAGSTYP=$vtyp ret=$ret"
+                       if [ `cat $ORIG_CSV |grep -cE "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then
+                               ((anz_rueck++))
+                               cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}.rueck
+                       else
+                               echo "Datensatz $vnum mehrfach in $ORIG_CSV"
+                       fi
+               fi
+       done
+       echo -e "Rueckgabe:\t\t\t$anz_rueck"
+       echo -e "gleiche:\t\t\t$anz_gleich"
+       echo -e "unterschiedlich:\t\t$anz_unterschied"
+       echo -e "Rueckgabe:\t\t\t$anz_rueck\ngleiche:\t\t\t$anz_gleich\nunterschiedlich:\t\t$anz_unterschied" > ${ORIG_CSV}.statistik
+done
diff --git a/merge2files.sh b/merge2files.sh
new file mode 100755 (executable)
index 0000000..f8d60f6
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+DEBUG=0
+if [ -z "${1}" -o -z "${2}" -o -z "${3}" -o -z "${4}" -o -z "${5}" -o -z "${6}" -o -z "${7}" -o -z "${8}" ]
+then
+       echo ""
+       echo ""
+       echo "Es müssen alle Parameter immer angegenen werden!"
+       echo ""
+       echo "file1 - hier sind die daten drin nach denen gesucht wird"
+       echo "file2 - hier sind die daten drin, die in file1 eingefügt werden sollen"
+       echo "1spalte/n - die Felder die benutzt werden sollen"
+       echo "trenner1 - trennzeichen file1" 
+       echo "2spalte/n - die Felder die benutzt werden sollen Bsp.: "
+       echo "trenner2 - trennzeichen file2" 
+       echo "pos - Position wo in file1 eingefügt werden soll"
+       echo "output - file wo das Ergebnis hin kommt"
+       echo "alt. trenner - alternativer trenner, der ersetzt wird in seachstring -> muss nicht"
+       echo "angegeben werden - wurde aber mal benötigt"
+       echo "aufruf: $0 file1 file2 1spalte/n trenner1 2spalte/n trenner2 pos output (alt. trenner)"
+       echo ""
+       exit 1
+fi
+
+while read line
+do
+       wert=`echo ${line} | cut -d"$4" -f"$3"`
+       if [ -z "${wert}" ]
+       then
+               echo "Zeile leer, überspringe ..."
+       else
+               if [ -z "$9" ]
+               then
+                       search=`echo $wert |sed -e s/$4/$6/g`
+               else
+                       search=`echo $wert |sed -e s/$4/${9}/g`
+               fi
+               if if [ $DEBUG -eq 1 ]
+                       echo "suche nach $search"
+               fi
+               found=`grep "${6}${search}${6}" $2`
+               if [ -z "$found" ]
+               then
+                       echo "$search nicht in $2 gefunden"
+               else    
+                       if [ $DEBUG -eq 1 ] 
+                       then
+                               echo "$search gefunden: $found"
+                       fi
+                       isu=""
+                       isu=`echo $found |cut -d";" -f3`
+                       echo ${line}${4}${isu} >> $8
+
+               fi
+
+       fi
+done < $1
diff --git a/my_convert.sh b/my_convert.sh
new file mode 100755 (executable)
index 0000000..a9b1cdc
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+#
diff --git a/nnr2r b/nnr2r
new file mode 100755 (executable)
index 0000000..5b491da
Binary files /dev/null and b/nnr2r differ
diff --git a/nr2r b/nr2r
new file mode 100755 (executable)
index 0000000..66bbb4f
Binary files /dev/null and b/nr2r differ
diff --git a/ocr-ausschnitt-rep b/ocr-ausschnitt-rep
new file mode 100755 (executable)
index 0000000..ca77864
Binary files /dev/null and b/ocr-ausschnitt-rep differ
diff --git a/pdfcrack b/pdfcrack
new file mode 100755 (executable)
index 0000000..488c67e
Binary files /dev/null and b/pdfcrack differ
diff --git a/pdfinfo1 b/pdfinfo1
new file mode 100755 (executable)
index 0000000..6e8d200
Binary files /dev/null and b/pdfinfo1 differ
diff --git a/pingtest.sh b/pingtest.sh
new file mode 100755 (executable)
index 0000000..1affd56
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+hosts="lkw-archiv egs-archiv esg-archiv evk-archiv"
+count=1
+interval=2
+for host in $hosts
+do
+       ping -c $count -i $interval $host
+done
diff --git a/png-qualitaet.py b/png-qualitaet.py
new file mode 100755 (executable)
index 0000000..d3c849b
--- /dev/null
@@ -0,0 +1,286 @@
+#!/usr/bin/env python
+# -*- coding: iso-8859-1 -*-
+
+# Python Imports
+import os
+import re
+import sys
+import subprocess
+
+def usage():
+    print """Usage: %s file.png outdir
+ Erzeuge mehrere PNG-Bilder mit reduzierter Farbanzahl.
+ Es werden mehrere HTML-Seiten erzeugt auf der man die Ergebnisse
+ anschauen kann.
+    """ % (os.path.basename(sys.argv[0]))
+
+colorscale=[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, 64]
+xsizescale=[800, 1000, 1200]
+thresholdscale=[35, 40, 45, 50, 55, 60, 65]
+
+def int2str(integer):
+    """
+    Formatiere die Zahl für Menschen.
+    
+    1000000 --> 1.000.000
+    """
+    integer=long(integer)
+    s=list(str(integer))
+    i=-1
+    while 1:
+        i+=4
+        len_s=len(s)
+        if i<len_s:
+            s.insert(len_s-i, ".")
+        else:
+            break
+    s=''.join(s)
+    return s
+
+def main():
+    if not len(sys.argv)==3:
+        usage()
+        sys.exit(3)
+    pngfile=sys.argv[1]
+    outdir=sys.argv[2]
+    if not os.path.exists(outdir):
+        print "%s does not exist" % outdir
+        usage()
+        sys.exit(1)
+    pnmfile=re.sub(r'^(.+)\....$', r'\1.pnm', pngfile)
+    base=os.path.join(outdir, os.path.basename(pnmfile[:-4]))
+    assert pnmfile!=pngfile
+    fdpnm=open(pnmfile, "w")
+    pipe=subprocess.Popen(["pngtopnm", pngfile], stdout=fdpnm)
+    assert pipe.wait()==0, "Fehler beim pngtopnm"
+    fdpnm.close()
+    pngfiles=[]
+    xsizerows=[]
+    for xsize in xsizescale:
+        pnmxsize="%s_%04d.pnm" % (base, xsize)
+        htmlfile="%s_%04d.html" % (base, xsize)
+        fdpnm=open(pnmxsize, "w")
+        pipe=subprocess.Popen(["pamscale", "-xsize", str(xsize), pnmfile], stdout=fdpnm)
+        assert pipe.wait()==0
+        rows=[]
+        for ncolors in colorscale:
+            small="%s_%04d_%03d.png" % (base, xsize, ncolors)
+            print small
+            smallfd=open(small, "w")
+            pipe=subprocess.Popen(["pnmdepth", str(ncolors-1), pnmxsize], stdout=subprocess.PIPE)
+            pipepng=subprocess.Popen(["pnmtopng"], stdout=smallfd, stdin=pipe.stdout)
+            assert pipepng.wait()==0
+            assert pipe.wait()==0
+            smallfd.close()
+            size=os.path.getsize(small)
+            pngfiles.append((size, small, ncolors, xsize, 0))
+            rows.append('''
+             <tr>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td>%s<br><img src="%s" style="border: 1px solid black"></td>
+             </tr>''' % (xsize, ncolors, int2str(size), os.path.basename(small),
+                         os.path.basename(small)))
+        fd=open(htmlfile, "wt")
+        fd.write('''
+         <html>
+          <head>
+           <title>png-qualitaet.py %s xsize=%s</title>
+          </head> 
+          <body>
+           <h1>%s xsize=%s</h1>
+           <a href="index.html">Start</a><br>
+           <pre>
+            Kommando: pamscale -xsize %d | pnmdepth %d
+            Achtung: Wert von pnmdepth+1 ergibt Anzahl der Farben!
+           </pre>
+           <table border="1">
+            <tr>
+             <th>Größe</th>
+             <th>Farben</th>
+             <th>Bytes</th>
+             <th>Bild (%s)</th>
+            </tr> 
+            %s
+           </table>
+          </body>
+         </html>''' % (pngfile, xsize,
+                       pngfile, xsize,
+                       xsize, ncolors-1, 
+                       pngfile,
+                       '\n'.join(rows)))
+        fd.close()
+        xsizerows.append('<tr><td><a href="%s">%d</a></td></tr>' % (
+            os.path.basename(htmlfile), xsize))
+        print "erstellte %s" % htmlfile
+    rows=[]
+    for xsize in xsizescale:
+        pnmxsize="%s_%04d.pnm" % (base, xsize)
+        for threshold in thresholdscale:
+            small="%s_%04d_bwt%02d.png" % (base, xsize, threshold)
+            print small
+            smallfd=open(small, "w")
+            cmd=["pamditherbw", "-threshold", "-value", "%.3f" % (threshold/100.0), pnmxsize]
+            pipe=subprocess.Popen(cmd, stdout=subprocess.PIPE)
+            pipepnm=subprocess.Popen(["pamtopnm"], stdout=subprocess.PIPE, stdin=pipe.stdout)
+            pipepng=subprocess.Popen(["pnmtopng"], stdout=smallfd, stdin=pipepnm.stdout)
+            assert pipepng.wait()==0, cmd
+            assert pipepnm.wait()==0
+            assert pipe.wait()==0
+            size=os.path.getsize(small)
+            pngfiles.append((size, small, 2, xsize, threshold))
+            rows.append('''
+             <tr>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s%%</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td>%s<br><img src="%s" style="border: 1px solid black"></td>
+             </tr>''' % (xsize, threshold, int2str(size), os.path.basename(small),
+                         os.path.basename(small)))
+    htmlfile=os.path.join(outdir, "threshold.html")
+    fd=open(htmlfile, "wt")
+    fd.write('''
+     <html>
+      <head>
+       <title>png-qualitaet.py %s Threshold</title>
+      </head> 
+      <body>
+       <h1>%s Threshold</h1>
+       <a href="index.html">Start</a><br>
+       <table border="1">
+        <tr>
+         <th>Größe</th>
+         <th>Threshold</th>
+         <th>Bytes</th>
+         <th>Bild</th>
+        </tr> 
+        %s
+       </table>
+      </body>
+     </html>''' % (pngfile, pngfile,
+                   '\n'.join(rows)))
+    fd.close()
+    
+            
+    PLUS=2
+    pngfiles.sort()
+    basename=os.path.basename(base)
+    myrange=range(PLUS, max(len(pngfiles)-PLUS, PLUS+1))
+    all=len(myrange)
+    isizerows=[]
+    for isize in myrange:
+        size, file, ncolors, xsize, threshold = pngfiles[isize]
+        istart=max(isize-PLUS, 0)
+        iend=min(len(pngfiles), isize+PLUS+1)
+        rows=[]
+        for iother in range(istart, iend):
+            othersize, otherfile, otherncolors, otherxsize, threshold = pngfiles[iother]
+            rows.append('''
+             <tr>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td align="right" style="vertical-align: top">%s%%</td>
+              <td align="right" style="vertical-align: top">%s</td>
+              <td>%s<br><img src="%s" style="border: 1px solid black"></td>
+             </tr>''' % (iother, otherxsize, otherncolors, threshold, int2str(othersize),
+                         os.path.basename(otherfile),
+                         os.path.basename(otherfile)))
+        sizestart=int2str(pngfiles[istart][0])
+        sizeend=int2str(pngfiles[iend-1][0])
+        if not rows:
+            print "leer"
+            continue
+        if istart!=0:
+            link="%s_size_%03d.html" % (basename, isize-1)
+            prev='<a href="%s">prev: %s</a>' % (link, isize-2)
+        else:
+            prev="First"
+
+        if iend!=len(pngfiles):
+            link="%s_size_%03d.html" % (basename, isize+1)
+            next='<a href="%s">next: %s</a>' % (link, isize)
+        else:
+            next="Last"
+
+
+        rows='\n'.join(rows)
+        htmlfile="%s_size_%03d.html" % (base, isize)
+        fd=open(htmlfile, "wt")
+        isizemin=isize-1
+        fd.write('''
+         <html>
+          <head>
+           <title>png-qualitaet.py %(pngfile)s Size %(isize)d</title>
+          </head> 
+          <body>
+           <h1>%(pngfile)s Size %(isizemin)sv%(all)s</h1>
+           <a href="index.html">Start</a><br>
+           %(prev)s <br> %(next)s
+           <pre>
+            Kommando: pamscale -xsize N | pnmdepth D
+            Achtung: Wert von D+1 ergibt Anzahl der Farben!
+           </pre>
+           <table border="1">
+            <tr>
+             <th>&nbsp;</th>
+             <th>Breite</th>
+             <th>Farben</th>
+             <th>Threshold</th>
+             <th>Bytes</th>
+             <th>Bild</th>
+            </tr> 
+            %(rows)s
+           </table>
+          </body>
+         </html>''' % locals())
+        fd.close()
+        print "Erstellte", htmlfile
+        isizerows.append(
+            '''
+             <tr>
+              <td><a href="%(basename)s_size_%(isize)03d.html">%(isizemin)sv%(all)s</a></td>
+              <td>%(sizestart)s-%(sizeend)s</td>
+             </tr>''' % (
+            locals()))
+    indexfile=os.path.join(outdir, "index.html")
+    fd=open(indexfile, "wt")
+    xsizerows='\n'.join(xsizerows)
+    isizerows='\n'.join(isizerows)
+    fd.write('''
+     <html>
+      <head>
+       <title>png-qualitaet.py %(pngfile)s Index</title>
+      </head> 
+      <body>
+       <h1>%(pngfile)s Index</h1>
+<pre>
+Hinweis: DIN-A4 Seite
+ 800 x 1131  96dpi
+1000 x 1414 120dpi
+1200 x 1697 145dpi
+1600 x 2263 193dpi
+2000 x 2828 242dpi
+2480 x 3507 300dpi
+</pre>
+       <table>
+        <tr><td>XSize</td></tr>
+        %(xsizerows)s
+       </table>
+
+       <a href="threshold.html">Threshold (Schwarz/Weiß)</a><br><br>
+       
+       <table>
+        <tr><td>Sorted by Filessize</td></tr>
+        %(isizerows)s
+       </table>
+
+      </body>
+     </html>''' % locals())
+    print "Erstellte", indexfile
+    
+
+    
+if __name__=="__main__":
+    main()
diff --git a/png2klein.sh b/png2klein.sh
new file mode 100755 (executable)
index 0000000..50c89c8
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash
+set -e
+if [ $# -ne 4 ]; then
+    echo "Usage: $0 xsize ncolors file.png outfile.png"
+    exit 1
+fi
+xsize=$1
+ncolors=$2
+infile=$3
+outfile=$4
+pngtopnm $infile | pnmscale -xsize $xsize |  pnmdepth $((ncolors-1)) | pnmtopng  > $outfile
+#convert -thumbnail ${xsize}x -colors $ncolors $infile $outfile
+
diff --git a/pngto4bit.sh b/pngto4bit.sh
new file mode 100755 (executable)
index 0000000..24ed913
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+#
+#Nimmt tars im aktuellen Verzeichnis und darunter
+#entpackt die tars mit den pngs und reduziert die
+#Graustufen auf 4bit, packt das ganze wieder und
+#überschreibt das Original tar im ursprünglichen
+#Verzeichnis
+#
+
+pwd=`pwd`
+tmp=`mktemp -d`
+for t in `find -iname \*.tar`
+do
+       echo $t
+       cd $tmp
+       tar xf $pwd/$t
+       for P in `ls *.png`
+       do
+               pngtopnm ${P} | pnmdepth 15 | pnmtopng -background black > $(basename $P .png).16.png
+               mv $(basename $P .png).16.png $P
+       done
+       tar cf $t *.png
+       mv $t $pwd/
+       rm -rf $tmp/*
+done
diff --git a/postgres_connect.tcl b/postgres_connect.tcl
new file mode 100755 (executable)
index 0000000..c6d1ff4
--- /dev/null
@@ -0,0 +1,161 @@
+#!/usr/bin/wish
+
+#pg_connect -- eine Verbindung zum Server öffnen
+#pg_disconnect -- eine Verbindung zum Server schließen
+#pg_conndefaults -- Verbindungsparameter und ihre Vorgabewerte ermitteln
+#pg_exec -- einen Befehl an den Server senden
+#pg_result -- Informationen über ein Befehlsergebnis ermitteln
+#pg_select -- eine Schleife über ein Anfrageergebnis ausführen
+#pg_execute -- eine Anfrage senden und wahlweise eine Schleife über das Ergebnis ausführen
+#pg_listen -- einen Befehl für asynchrone Benachrichtigungsmitteilungen einsetzen oder ändern
+#pg_on_connection_loss -- einen Befehl für unerwarteten Verbindungsverlust einsetzen oder ändern
+#pg_lo_creat -- ein Large Object erzeugen
+#pg_lo_open -- ein Large Object öffnen
+#pg_lo_close -- ein Large Object schließen
+#pg_lo_read -- aus einem Large Object lesen
+#pg_lo_write -- in ein Large Object schreiben
+#pg_lo_lseek -- den Positionszeiger eines Large Object setzen
+#pg_lo_tell -- den aktuellen Positionszeiger eines Large Object zurückgeben
+#pg_lo_unlink -- ein Large Object löschen
+#pg_lo_import -- ein Large Object aus einer Datei importieren
+#pg_lo_export -- ein Large Object in eine Datei exportieren
+proc requirePaket {paket} { 
+        if {[catch "package require ${paket}" fid]} {
+                tk_messageBox -type ok -icon warning \
+                        -message "Das Paket $paket fehtl. Bitte installieren."
+                exit 1
+        }
+} 
+
+proc do_DBconnect {} {
+       global CONN
+       catch {
+               set CONN [pg_connect gis_egs_d -host workepdevel113 -user gis_egs_d -password u4jw8xecj]
+       }
+       if { [info exists CONN] && [string first pgsql $CONN] != 0 } { return 0 }
+       return 1
+}
+
+
+proc do_DBclose {} {
+       global CONN
+       if { [info exists CONN] } {
+               catch {
+                       pg_disconnect $CONN
+               }
+       }
+       unset CONN
+       return 1
+}
+
+proc do_SQLsearch { a b } {
+       catch {
+               set result [pg_exec $a $b]
+       }
+       if { ![info exists result] } {
+               return 0
+       } elseif { [pg_result $result -status] != "PGRES_TUPLES_OK"} {
+               puts "[pg_result $result -status]"
+               return 0
+       }
+       return $result
+}
+requirePaket Pgtcl
+do_DBconnect
+#set search "m:* müll" 
+#set ret [do_SQLsearch $CONN "select * from modwork_isu_isu where gp_name like '%ller%'";]
+#set ret [do_SQLsearch $CONN "SELECT \"modwork_isu_isu\".\"id\", \"modwork_isu_isu\".\"vertrag\", \"modwork_isu_isu\".\"vknr\", \"modwork_isu_isu\".\"gp_name\", \"modwork_isu_isu\".\"gpnr\", \"modwork_isu_isu\".\"verbrauchsstelle_strhnr\", \"modwork_isu_isu\".\"verbrauchsstelle_plzort\", \"modwork_isu_isu\".\"serialnr_erstes_geraet\", \"modwork_isu_isu\".\"bez_anschlussobj\", \"modwork_isu_isu\".\"abrechnungsklasse\", \"modwork_isu_isu\".\"vertragsende\", \"modwork_isu_isu\".\"buchungskreis_id\", \"modwork_isu_isu\".\"lieferant\", \"modwork_isu_isu\".\"vkonta\", \"modwork_isu_isu\".\"modified\", \"modwork_isu_isu\".\"quelle\", \"modwork_isu_isu\".\"zaehlpunkt\", \"modwork_isu_isu\".\"regiogroup_id\", \"modwork_isu_isu\".\"portion\", \"modwork_isu_isu\".\"ableinh\", \"modwork_isu_isu\".\"tariftyp_id\", \"modwork_isu_isu\".\"drgscen_id\", \"modwork_isu_isu\".\"serviceid_id\", \"modwork_isu_isu\".\"invoicing_party_id\", \"modwork_isu_isu\".\"service_id\", \"modwork_isu_isu\".\"billing_party_id\" FROM \"modwork_isu_isu\" WHERE content @@ '$search:*';"]
+#set ret [do_SQLsearch $CONN "SELECT\
+                       \"modwork_isu_isu\".\"id\",\
+                       \"modwork_isu_isu\".\"vertrag\",\
+                       \"modwork_isu_isu\".\"vknr\",\
+                       \"modwork_isu_isu\".\"gp_name\",\
+                       \"modwork_isu_isu\".\"gpnr\",\
+                       \"modwork_isu_isu\".\"verbrauchsstelle_strhnr\",\
+                       \"modwork_isu_isu\".\"verbrauchsstelle_plzort\",\
+                       \"modwork_isu_isu\".\"serialnr_erstes_geraet\",\
+                       \"modwork_isu_isu\".\"bez_anschlussobj\",\
+                       \"modwork_isu_isu\".\"abrechnungsklasse\",\
+                       \"modwork_isu_isu\".\"vertragsende\",\
+                       \"modwork_isu_isu\".\"buchungskreis_id\",\
+                       \"modwork_isu_isu\".\"lieferant\",\
+                       \"modwork_isu_isu\".\"vkonta\",\
+                       \"modwork_isu_isu\".\"modified\",\
+                       \"modwork_isu_isu\".\"quelle\",\
+                       \"modwork_isu_isu\".\"zaehlpunkt\",\
+                       \"modwork_isu_isu\".\"regiogroup_id\",\
+                       \"modwork_isu_isu\".\"portion\",\
+                       \"modwork_isu_isu\".\"ableinh\",\
+                       \"modwork_isu_isu\".\"tariftyp_id\",\
+                       \"modwork_isu_isu\".\"drgscen_id\",\
+                       \"modwork_isu_isu\".\"serviceid_id\",\
+                       \"modwork_isu_isu\".\"invoicing_party_id\",\
+                       \"modwork_isu_isu\".\"service_id\",\
+                       \"modwork_isu_isu\".\"billing_party_id\"\
+                       FROM \"modwork_isu_isu\" WHERE content @@ '${search}:*';"]
+
+#set isu 238
+#set gpnr 256
+
+#set ret [do_SQLsearch $CONN "SELECT\
+\"modwork_isu_isu\".\"vknr\",\
+\"modwork_isu_isu\".\"gp_name\",\
+\"modwork_isu_isu\".\"verbrauchsstelle_strhnr\",\
+\"modwork_isu_isu\".\"verbrauchsstelle_plzort\",\
+\"modwork_isu_isu\".\"gpnr\",\
+\"modwork_isu_isu\".\"vertrag\",\
+\"modwork_isu_isu\".\"serialnr_erstes_geraet\",\
+\"modwork_isu_isu\".\"vkonta\",\
+\"modwork_isu_isu\".\"bez_anschlussobj\",\
+\"modwork_isu_isu\".\"abrechnungsklasse\",\
+\"modwork_isu_isu\".\"vertragsende\",\
+\"modwork_isu_isu\".\"buchungskreis_id\",\
+\"modwork_isu_isu\".\"lieferant\",\
+\"modwork_isu_isu\".\"zaehlpunkt\",\
+\"modwork_isu_isu\".\"regiogroup_id\",\
+\"modwork_isu_isu\".\"portion\",\
+\"modwork_isu_isu\".\"ableinh\",\
+\"modwork_isu_isu\".\"tariftyp_id\",\
+\"modwork_isu_isu\".\"drgscen_id\",\
+\"modwork_isu_isu\".\"serviceid_id\"\
+FROM \"modwork_isu_isu\" where cast (vknr as char(32)) like '%${isu}%' or cast (gpnr as char(32)) like '%${isu}%' or cast (vertrag as char(32)) like '%isu%';"]
+
+set ret [do_SQLsearch $CONN "select s.id, s.name,o.name from gis_ort o, gis_strasse s where o.id=s.ort_id;" ] 
+puts "$ret"
+if { [pg_result $ret -numTuples] > 0 } {
+       puts [pg_result $ret -numTuples]
+       puts [pg_result $ret -getTuple 0]
+}
+do_DBclose
+exit
+#öffnen der DB Verbindung
+#set conn [pg_connect modwork_egs_d -host workepdevel113 -user modwork_egs_d_isusearch -password AdN:egsis]
+if { [do_DBconnect] } {
+       puts "DB connection is good"
+} else {
+       puts "DB connection is bad"
+       exit
+}
+#set abfrage "select * from modwork_isu_isu where gp_name like '%ller%';"
+set erg [pg_exec $CONN $abfrage]
+#set spaltennamem [pg_result $erg -attributes]
+#puts $spaltennamem
+puts [pg_result $erg -getTuple 0]
+pg_disconnect $CONN
+exit
+
+for {set x 0} {$x<[pg_result $erg -numTuples]} {incr x} {
+       set row "$x\t\t[pg_result $erg -getTuple $x]"
+       puts $row
+} 
+
+
+
+
+
+
+
+
+
+#Schließen der Datenbankverbindung
+pg_disconnect $CONN
diff --git a/printVertragsArt_aktion3000031.sh b/printVertragsArt_aktion3000031.sh
new file mode 100755 (executable)
index 0000000..3b045ae
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/bash
+logfile=~/log/printVertragsArt_aktion3000031.sh_$$.log
+
+textGelb="Sondervertrag meinERDGAS"
+textBlau="Festpreis 10/2017"
+
+pointsize=30
+drawCoord="10,50"
+
+origverz=`pwd`
+
+pushd $origverz
+
+checkIsAktion() {
+       number=`cat $1 |grep OCR_CODE |cut -d" " -f2 |cut -d'/' -f 1`
+       length=${#number}
+       number=${number: -2}
+       if [ $length -ne 9 ]; then
+               return 3
+       fi
+       #echo "number=${number: -2}"
+       if [ "${number}" == "01" -o "${number}" == "02" ]; then
+               #gelb bzw. Sondervertrag meinERDGAS
+               return 1
+       else if [ "${number}" == "03" -o  "${number}" == "04" ]; then
+               #blau bzw. Festpreis 10/2017
+               return 2
+       else
+               return 4
+       fi
+       fi
+}
+
+TarAndPrint() {
+       echo "$1   ##########   $2   +++++++++ $origverz"
+        mkdir /tmp/entpacken.$$
+        pushd /tmp/entpacken.$$
+       echo "bearbeite:  ${origverz}/${2}.tar"
+       tar xf ${origverz}/${2}.tar
+       for p in `ls *.png`
+       do
+               if [ "${1}" == "gelb" ];then
+                       mogrify -pointsize $pointsize -fill '#D7DF01' -draw "text $drawCoord '${textGelb}'" *.png
+               else
+                       if [ "${1}" == "blau" ];then
+                               mogrify -pointsize $pointsize -fill blue -draw "text $drawCoord '${textBlau}'" *.png
+                       fi
+               fi
+       done
+        tar cf test.tar *.png
+       echo "mv test.tar ${origverz}/${$}.tar"
+        mv test.tar ${origverz}/${2}.tar
+        popd
+        rm -rf /tmp/entpacken.$$
+}
+
+printOnPNG() {
+       curdir=`dirname $2`
+       #echo curdir=$curdir
+       if [ -e ${curdir}/modscan_ama_*1.png ]; then
+               echo "schon erledigt: $curdir" >> $logfile
+               return 1
+       fi
+       cp -a $curdir/../modscan_ama_*1.png $curdir
+       echo "bearbeite ${curdir}" >> $logfile
+       for p in `ls $curdir/../modscan_ama_*1.png`
+       do
+               if [ "${1}" == "gelb" ];then
+                       mogrify -pointsize $pointsize -fill '#D7DF01' -draw "text $drawCoord '${textGelb}'" $p 
+               else
+                       if [ "${1}" == "blau" ];then
+                               mogrify -pointsize $pointsize -fill blue -draw "text $drawCoord '${textBlau}'" $p
+                       fi
+               fi
+       done
+}
+
+printAufVertrag() {
+       case "$1" in
+               "gelb")
+                       #echo "printGelb auf Vertrag"
+                       #TarAndPrint $1 $2
+                       printOnPNG $1 $2
+                       ;;
+               "blau")
+                       #echo "printBlau auf Vertrag"
+                       #TarAndPrint $1 $2
+                       printOnPNG $1 $2
+                       ;;
+               *)
+                       echo "printAufVertrag: Fehler passiert" >> $logfile
+       esac
+}
+
+for datFile in `find -type f -iname modscan_ama_\*.dat`
+do
+       basename=`basename $datFile .dat`
+#      echo $basename
+       checkIsAktion $datFile
+       ret=$?
+#      echo ret=$ret
+       case $ret in
+               1)
+                       #echo "gelb"
+                       #printAufVertrag gelb $basename
+                       printAufVertrag gelb $datFile
+                       ;;
+               2)
+                       #echo "blau"
+                       #printAufVertrag blau $basename 
+                       printAufVertrag blau $datFile
+                       ;;
+               3)
+                       echo "Aktion nio: $datFile" >> $logfile
+                       ;;
+               *)
+                       echo "Fehler: $datFile" >> $logfile
+                       ;;
+       esac
+done
+popd
diff --git a/repair_inffile.tcl b/repair_inffile.tcl
new file mode 100755 (executable)
index 0000000..6993694
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/tclsh
+
+set datei [lindex $argv 0]
+set new_datei ${datei}.new
+set regex_line "^IDX:S0809 "
+set regex_isu "^IDX:ISUNR"
+set regex_buchk "^IDX:BUCHK "
+set first 0
+
+set fd [open $datei r]
+set new_fd [open ${new_datei} w]
+while {[gets $fd line]>=0} {
+       if {([regexp ${regex_line} $line] || [regexp ${regex_isu} $line] || [regexp ${regex_buchk} $line])} {
+               if { $first == 0 } {
+                       if {[regexp ${regex_line} $line]} { 
+                               regsub $regex_line $line "" newline
+                               if {[regexp {[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]} [lindex $newline 1]]} {
+                                       set newline [lreplace $newline 0 0 Netz]
+                               } else {
+                                       set newline [lreplace $newline 0 0 Vertrieb]
+                               }
+                               puts $new_fd "IDX:BUCHK [lindex $newline 12]"
+                               puts $new_fd "IDX:S0809 $newline"
+                               puts $new_fd "IDX:ISUNR [lindex $newline 1]"
+                               puts $new_fd "IDX:ISUNR [lindex $newline 5]"
+                               puts $new_fd "IDX:ISUNR [lindex $newline 6]"
+                               set first 1
+                       }
+               }
+       } else {
+               puts $new_fd $line
+       }
+}
+close $fd
+close $new_fd
diff --git a/replaceOldKeys_EGS_Herbstaktion.sh b/replaceOldKeys_EGS_Herbstaktion.sh
new file mode 100755 (executable)
index 0000000..086a92f
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+PWD=`pwd`
+#set -x
+for e in 1 2 3 4 5 6 7 8 9
+do
+       case $e in
+       1)
+               sed -i s/^Vertragskontonummer/ISUNR/ $PWD/*.dat
+               ;;
+       2)
+               sed -i s/^Geschäftspartnernummer/ISUNR/ $PWD/*.dat
+               ;;
+       3)
+               sed -i s/^Geschäftspartnername/ADRESSE_NAME/ $PWD/*.dat
+               ;;
+       4)
+               sed -i s%^Str.\/HNr.\ Verbrauchstelle%KUNDE_ANLAGE_STRASSE% $PWD/*.dat
+               ;;
+       5)
+               sed -i s%^PLZ\ \/\ Ort\ Verbrauchstelle%KUNDE_ANLAGE_ORT% $PWD/*.dat
+               ;;
+       6)
+               sed -i s/^CSV-Rueckgabewert/CSV_RETURN_VALUE/ $PWD/*.dat
+               ;;
+       7)
+               sed -i s/^CSV-Headers/CSV_HEADER/ $PWD/*.dat
+               ;;
+       8)
+               sed -i s/^Vertragskontonummer/ISUNR/ $PWD/*.dat
+               ;;
+       9)
+               sed -i s/Buchungskreis\ ID/BUCHK/ $PWD/*.dat
+               ;;
+       esac
+done
diff --git a/reversps b/reversps
new file mode 100755 (executable)
index 0000000..fb38837
Binary files /dev/null and b/reversps differ
diff --git a/rsyncFilesToWorkflow.sh b/rsyncFilesToWorkflow.sh
new file mode 100755 (executable)
index 0000000..544f4ca
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+MAX=10
+#COMMONOPT="-av --remove-source-files --bwlimit=50k"
+COMMONOPT="-av --remove-source-files"
+filesToTranfer=$1
+userAtHost=$2
+directory=$3
+parameter=$#
+PWD=`pwd`
+IDENTITY="-e ssh -i /home/mhoellein/.ssh/id_rsa_workflow_server"
+IDENTITY=" "
+
+dosync() {
+   echo "------------------------------------------------------------------"
+   echo "$1"
+   echo "$2"
+   NOCHMAL=1
+   COUNT=1
+   while [ $NOCHMAL -eq 1 -a $COUNT -le $MAX ]; do
+      rsync $COMMONOPT  $IDENTITY ${PWD}/${filesToTranfer}* ${userAtHost}:${directory}  2>&1 | tee ${PWD}/rsync.stat
+      grep "Number of files transferred: 0" ${PWD}/rsync.stat > /dev/null
+      NOCHMAL=$?
+      let COUNT++
+      [ $NOCHMAL -eq 1 ] && sleep 6
+   done
+   rm -f ${PWD}/rsync.stat
+}
+usage() {
+       echo "$0 filesToTransfer userAtHost directory"
+       echo "$0 modscan_ama modwork_fm_p@vis-work import/"
+}
+checkParams() {
+       echo "parameter=$parameter"
+       echo "filesToTranfer=$filesToTranfer"
+       echo "userAtHost=$userAtHost"
+       if [ ${parameter} -ne 3 ];then
+               usage
+       else
+               dosync
+       fi
+}
+checkParams
diff --git a/rsync_lkw.sh b/rsync_lkw.sh
new file mode 100755 (executable)
index 0000000..817f9fe
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+MAX=10
+
+dosync() {
+   echo "------------------------------------------------------------------"
+   echo "$1"
+   echo "$2"
+   NOCHMAL=1
+   COUNT=1
+   while [ $NOCHMAL -eq 1 -a $COUNT -le $MAX ]; do
+       rsync -av --remove-source-files modscan_ama* modwork_fm_p@vis-work:import/ 2>&1 | tee rsync.stat
+#      rsync $COMMONOPT $2 $3  2>&1 | tee rsync.stat
+      grep "Number of files transferred: 0" rsync.stat > /dev/null
+      NOCHMAL=$?
+      let COUNT++
+      [ $NOCHMAL -eq 1 ] && sleep 6
+   done
+}
+dosync
diff --git a/sampledata.csv1 b/sampledata.csv1
new file mode 100644 (file)
index 0000000..11cb3fa
--- /dev/null
@@ -0,0 +1 @@
+1,1,name,1,vsstrhnr,vsplzort,serial,bezansch,ak,11.11.1978,5300,lief,kae
diff --git a/sapsplit b/sapsplit
new file mode 100755 (executable)
index 0000000..0555989
--- /dev/null
+++ b/sapsplit
@@ -0,0 +1,46 @@
+#!/usr/bin/tclsh
+
+
+proc usage {} {
+       puts "sapsplit -f spalte\[-spalte\]"
+       puts "   cat datei | sapsplit -f 1"
+       puts "   cat datei | sapsplit -f 4-6"
+       puts "sapsplit -s"
+       puts "   cat datei | sapsplit -s"
+       exit 1
+}
+
+#if { ${argc} == 0 } {
+#      usage
+#} else {
+#      puts "$argv"
+#      exit
+#}
+
+proc split_csv {line} {
+       set csv_list {}
+       while {[string length $line] > 0} {
+               if [regexp "^\\^\[^^\]*\\^" $line ausdruck] {
+                       lappend csv_list [string range $ausdruck 1 end-1]
+                       set line [string range $line [expr [string length $ausdruck]+1] end]
+               } else {
+                       return $csv_list
+               }
+       }
+       return $csv_list
+}
+
+
+proc showSpaltenNR {} {
+       if {[gets stdin line]>=0} {
+               for {set x 0} {$x < [llength [split_csv $line]]} { incr x }{
+                       puts "[expr ${x}+1] [lindex [split_csv $line] $x]"
+               }
+       }
+}
+
+while {[gets stdin line]>=0} { 
+       #puts "[lindex [split_csv $line] [expr [lindex $argv 0]-1]]"
+       puts "[string trimleft [lindex [split_csv $line] [expr [lindex $argv 0]-1]] " "]"
+       #puts "[string trimleft [lindex [split_csv $line] [expr [lindex $argv 0]-1]] " "];[string trimleft [lindex [split_csv $line] [expr [lindex 77 0]-1]] 0]"
+}
diff --git a/scancmd b/scancmd
new file mode 100755 (executable)
index 0000000..2550515
--- /dev/null
+++ b/scancmd
@@ -0,0 +1,215 @@
+#!/bin/bash
+# $Id: scancmd,v 1.11 2006/10/09 07:39:35 mhoellein Exp $
+# $Source: /develop/modscan2/common/bin/scancmd,v $
+LOGFILE=/home/modscan/log/lastscan.log
+SOURCE=ADF
+DPI=150
+MODUS=Lineart
+WPATH=/tmp
+FNAME=scanout
+B=210
+H=297
+L=0
+usage () {
+   echo "usage: $0 [-s ADF|FB] [-r dpi] [-m mode] [-p path] [-o filename] [-A4|-A4+|-A5|-A6|-A6_rot|-A5q|-A6q|-A6q_rot|-<H>x<B>]"
+   echo
+   exit
+}
+
+[ -z "$1" ] && usage
+while [ -n "$1" ] ; do
+    case $1 in
+        -s)     SOURCE=${2} ; shift ; shift ;;
+        -r)        DPI=${2} ; shift ; shift ;;
+        -p)      WPATH=${2} ; shift ; shift ;;
+        -o)      FNAME=${2} ; shift ; shift ;;
+        -m)      MODUS=${2} ; shift ; shift ;;
+        -A4|-a4)   B=210.0; H=297.0; L=0.00; shift ;;
+        -A4+|-a4+) B=210.0; H=310.0; L=0.00; shift ;;
+        -A5|-a5)   B=148.5; H=210.0; L=30.75; shift ;;
+        -A6|-a6)   B=105.0; H=148.5; L=52.50; shift ;;
+        -A6q|-a6q) B=148.5; H=105.0; L=30.75; shift ;;
+        -A6_rot|-a6_rot)   B=105.0; H=148.5; L=52.50; shift ;;
+        -A6q_rot|-a6q_rot) B=148.5; H=105.0; L=30.75; shift ;;
+        -A5q|-a5q) B=210.0; H=148.5; L=0.00; shift ;;
+        -*[0-9][xX][0-9]*)
+                   H=`echo $1 | sed -e"s/-\([0-9][0-9]*\)[xX].*/\1/"`   H=`echo "$H*10.0" | bc`;
+                   B=`echo $1 | sed -e"s/-.*[xX]\([0-9][0-9]*\).*/\1/"` B=`echo "$B*10.0" | bc`;
+                   L=`echo "(210.0-$B)/2.0" | bc`;
+                   if [ `echo "210.0<$B" | bc` -eq 1 ];then usage;fi; shift ;;
+        *)        usage ;;
+    esac
+done
+echo "" > ${LOGFILE}
+echo "SOURCE=$SOURCE DPI=$DPI WPATH=$WPATH FNAME=$FNAME MODUS=$MODUS B=$B L=$L H=$H" >> ${LOGFILE}
+if [ -n "${WPATH}" ]; then
+    if [ ! -d ${WPATH} ]; then
+       echo "Path $WPATH not an directory."
+       usage
+    else
+       /usr/bin/touch ${WPATH}/testtest
+       if [ ! -f ${WPATH}/testtest ]; then
+          echo "Cannot create files in $WPATH."
+          usage
+       else
+          /bin/rm -f $WPATH/testtest
+       fi
+    fi
+else
+   WPATH=.
+fi
+cd $WPATH
+
+
+# dropoutcolor setzen
+if [ $MODUS == "Red" ]; then devopts="$devopts --dropoutcolor Red"; fi;
+if [ $MODUS == "Green" ]; then devopts="$devopts --dropoutcolor Green"; fi;
+if [ $MODUS == "Blue" ]; then devopts="$devopts --dropoutcolor Blue"; fi;
+# Modusalias auflösen
+if [ $MODUS == "Contrast" ]; then MODUS=Gray; fi;
+if [ $MODUS == "Red" ]; then MODUS=Gray; fi;
+if [ $MODUS == "Blue" ]; then MODUS=Gray; fi;
+if [ $MODUS == "Green" ]; then MODUS=Gray; fi;
+echo "MODUS=$MODUS" >> ${LOGFILE}
+INVERT=0;
+
+# Scannerdevice und Typ
+#device `fujitsu:/dev/sg0' is a FUJITSU fi-4340Cd scanner -> Farbe
+#devopts="--sleeptimer=1 --dropoutcolor Red"
+#device `fujitsu:/dev/sg0' is a FUJITSU M3093DGdm scanner -> S/W
+scanimageversion=`scanimage --version | cut -d" " -f3 | sed -e "s%\;$%%"` 2>> ${LOGFILE}
+deviceline=`scanimage --formatted-device-list="%t device=%d model=%v%m" | grep -e"^scanner device=" | head -1` 2>> ${LOGFILE}
+device=`echo $deviceline | sed -e "s/^scanner device=\(.*\) model=.*$/\1/"` 2>> ${LOGFILE}
+model=`echo $deviceline | sed -e "s/^scanner device=.* model=\(.*\)$/\1/"` 2>> ${LOGFILE}
+echo "device=$device" >> ${LOGFILE}
+echo "model=$model" >> ${LOGFILE}
+
+case $model in
+  "FUJITSUfi-4340Cd") devopts="--device $device --sleeptimer 5 $devopts";
+                      if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ]
+                      then
+                        devopts="$devopts --rif yes"
+                        INVERT=0
+                     else
+                       devopts="$devopts"
+                       INVERT=0
+                      fi;;
+  "FUJITSUfi-4220Cdj")devopts="--device=$device --sleeptimer=5 $devopts";
+                      if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ]
+                      then
+                        devopts="$devopts --rif=yes"
+                        INVERT=0
+                     else
+                       devopts="$devopts"
+                       INVERT=0
+                      fi;;
+  "FUJITSUM3092DCd")  devopts="--device=$device $devopts";
+                      # SuSE 9.3, sane-1.0.15
+                      if [ $MODUS == "Gray" -o $MODUS == "Color" ]; then INVERT=1; fi;
+                     if [ $MODUS == "Lineart" ]; then devopts="$devopts --rif=yes";INVERT=0; fi;;
+  "FUJITSUM3093DGdm") devopts="--device=$device $devopts";
+                      if [ $MODUS == "Color" ]; then MODUS=Gray; fi;
+                      if [ $MODUS == "Gray"  ]; then INVERT=1; fi;;
+  *) echo "Unbekannter Gerätetyp $typ";exit 0;;
+esac
+
+if [ "`cat /etc/SuSE-release |grep VERSION | cut -d\"=\" -f2 |sed -e \"s/ //g\"`" == "10.2" ]; then
+       echo "10.2" >> ${LOGFILE} 
+else
+       echo "was anderes" >> ${LOGFILE}
+fi 
+# Papierquelle / Duplex / Papierformat
+case $SOURCE in
+   ADF)srcopts="ADF Duplex";
+       fmtopts="-x $B -y $H -l $L";;
+   FB) srcopts="Flatbed";
+       fmtopts="-x $B -y $H";;
+    *) usage;;
+esac
+
+umask 0002
+#echo  "scanimage $devopts $srcopts $fmtopts --mode=${MODUS} --resolution=${DPI} --batch=out%d.tif --batch-count=1" >> ${LOGFILE}
+echo -e "scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 1" >> ${LOGFILE}
+if [ "$SOURCE" == "ADF" ]; then
+       scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 2 2>> ${LOGFILE}
+else
+       scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 1 2>> ${LOGFILE}
+fi
+RET=$?
+sync
+#   SANE_STATUS_GOOD = 0,       /* everything A-OK */
+#   SANE_STATUS_UNSUPPORTED,    /* operation is not supported */
+#   SANE_STATUS_CANCELLED,      /* operation was cancelled */
+#   SANE_STATUS_DEVICE_BUSY,    /* device is busy; try again later */
+#   SANE_STATUS_INVAL,          /* data is invalid (includes no dev at open) */
+#   SANE_STATUS_EOF,            /* no more data available (end-of-file) */
+#   SANE_STATUS_JAMMED,         /* document feeder jammed */
+#   SANE_STATUS_NO_DOCS,        /* document feeder out of documents */
+#   SANE_STATUS_COVER_OPEN,     /* scanner cover is open */
+#   SANE_STATUS_IO_ERROR,       /* error during device I/O */
+#   SANE_STATUS_NO_MEM,         /* out of memory */
+#   SANE_STATUS_ACCESS_DENIED   /* access to resource has been denied */
+if [ -e "image-0001" ]
+then
+       size=`filesize image-0001`
+       if [ $size -lt 40000 ]
+       then
+               RET=12
+       fi
+fi
+echo "RET=$RET" >> ${LOGFILE}
+echo "------------------------" >> ${LOGFILE}
+case $RET in
+   0)
+       if [ -n "${FNAME}" -a $RET -eq 0 ]; then
+               if [ $INVERT -eq 0 ]
+               then
+                       if [ $SOURCE == "ADF" ];then
+                               echo "ADF wurde gescannt, invert=$INVERT" >> ${LOGFILE}
+                               convert image-0001 image-0001.tif
+                               mv image-0001.tif image-0001
+                               mv -f image-0001 ${FNAME}_f.tif
+                               convert image-0002 image-0002.tif
+                               mv image-0002.tif image-0002
+                               mv -f image-0002 ${FNAME}_b.tif
+                       else
+                               echo "FB wurde gescannt, invert=$INVERT" >> ${LOGFILE}
+                               convert image-0001 image-0001.tif
+                               mv image-0001.tif image-0001
+                               mv -f  image-0001 ${FNAME}.tif
+                       fi
+               else
+                       if [ $SOURCE == ADF ];then
+                               echo "ADF wurde gescannt" >> ${LOGFILE}
+                               convert image-0001 image-0001.tif
+                               mv image-0001.tif image-0001
+                               tifftopnm image-0001 2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}_f.tif
+                               tifftopnm image-0002 2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}_b.tif
+                               rm -f image-0001 image-0002 2>> ${LOGFILE}
+                       else
+                               echo "FB wurde gescannt" >> ${LOGFILE}
+                               convert image-0001 image-0001.tif
+                               echo "image-0001 wurde von convert in image-0001.tif gewandelt" >> ${LOGFILE}
+                               tifftopnm image-0001  2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}.tif
+                               rm -f image-0001 2>> ${LOGFILE}
+                       fi
+               fi
+       else
+               echo "Fehler bei der Bildverarbeitung, bitte noch einmal versuchen."
+       fi
+       ;;
+   1) echo "Ungültige Operation ausgelöst." ;;
+   2) echo "Abbruch durch Benutzer." ;;
+   3) echo "Scanner ist beschäftigt. Versuchen Sie es später nocheinmal." ;;
+   4) echo "Ungültige Daten empfangen." ;;
+   5) echo "Abbruch der Datenkommunikation zwischen Scanner und Hostsystem." ;;
+   6) echo "Papierstau: Bitte entnehmen Sie das Scanmaterial, ordnen es und legen es erneut an." ;;
+   7) echo "Keine Dokumente zum Scannen angelegt." ;;
+   8) echo "Deckel des Scanners ist offen. Deckel schließen und erneut versuchen." ;;
+   9) echo "Fehler während der Kommunkation mit dem Scanner." ;;
+  10) echo "Es steht der Anwendung kein weiterer Speicher zur Verfügung."  ;;
+  11) echo "Zugriff zum Scanner verweigert."  ;;
+  12) echo "Bildgröße fehlerhaft, bitte Blatt noch einmal scannen."  ;;
+   *) echo "Fehlercode=$RET"  ;;
+esac
+exit 0
diff --git a/scancmd_adf b/scancmd_adf
new file mode 100755 (executable)
index 0000000..3141b54
--- /dev/null
@@ -0,0 +1,187 @@
+#!/bin/sh
+# $Id: scancmd,v 1.9 2005/09/09 09:31:23 hmatthes Exp $
+# $Source: /develop/modscan2/common/bin/scancmd,v $
+SOURCE=ADF
+DPI=150
+MODUS=Lineart
+WPATH=/tmp
+FNAME=scanout
+B=210
+H=297
+L=0
+
+usage () {
+   echo "usage: $0 [-s ADF|FB] [-r dpi] [-m mode] [-p path] [-o filename] [-A4|-A4+|-A5|-A6|-A6_rot|-A5q|-A6q|-A6q_rot|-<H>x<B>]"
+   echo
+   exit
+}
+
+[ -z "$1" ] && usage
+while [ -n "$1" ] ; do
+    case $1 in
+        -s)     SOURCE=${2} ; shift ; shift ;;
+        -r)        DPI=${2} ; shift ; shift ;;
+        -p)      WPATH=${2} ; shift ; shift ;;
+        -o)      FNAME=${2} ; shift ; shift ;;
+        -m)      MODUS=${2} ; shift ; shift ;;
+        -A4|-a4)   B=210.0; H=297.0; L=0.00; shift ;;
+        -A4+|-a4+) B=210.0; H=310.0; L=0.00; shift ;;
+        -A5|-a5)   B=148.5; H=210.0; L=30.75; shift ;;
+        -A6|-a6)   B=105.0; H=148.5; L=52.50; shift ;;
+        -A6q|-a6q) B=148.5; H=105.0; L=30.75; shift ;;
+        -A6_rot|-a6_rot)   B=105.0; H=148.5; L=52.50; EGS=0; shift ;;
+        -A6q_rot|-a6q_rot) B=148.5; H=105.0; L=30.75; EGS=0; shift ;;
+        -A5q|-a5q) B=210.0; H=148.5; L=0.00; shift ;;
+        -*[0-9][xX][0-9]*)
+                   H=`echo $1 | sed -e"s/-\([0-9][0-9]*\)[xX].*/\1/"`   H=`echo "$H*10.0" | bc`;
+                   B=`echo $1 | sed -e"s/-.*[xX]\([0-9][0-9]*\).*/\1/"` B=`echo "$B*10.0" | bc`;
+                   L=`echo "(210.0-$B)/2.0" | bc`;
+                   if [ `echo "210.0<$B" | bc` -eq 1 ];then usage;fi; shift ;;
+        *)        usage ;;
+    esac
+done
+
+if [ -n "${WPATH}" ]; then
+    if [ ! -d ${WPATH} ]; then
+       echo "Path $WPATH not an directory."
+       usage
+    else
+       /usr/bin/touch ${WPATH}/testtest
+       if [ ! -f ${WPATH}/testtest ]; then
+          echo "Cannot create files in $WPATH."
+          usage
+       else
+          /bin/rm -f $WPATH/testtest
+       fi
+    fi
+else
+   WPATH=.
+fi
+cd $WPATH
+
+echo "" > ${FNAME}.log
+
+# dropoutcolor setzen
+if [ $MODUS == "Red" ]; then devopts="$devopts --dropoutcolor Red"; fi;
+if [ $MODUS == "Green" ]; then devopts="$devopts --dropoutcolor Green"; fi;
+if [ $MODUS == "Blue" ]; then devopts="$devopts --dropoutcolor Blue"; fi;
+# Modusalias auflösen
+if [ "$MODUS" = "Contrast" ];then MODUS=Gray; fi
+if [ "$MODUS" = "Red" ];then MODUS=Gray; fi
+if [ "$MODUS" = "Blue" ];then MODUS=Gray; fi
+if [ "$MODUS" = "Green" ];then MODUS=Gray; fi
+INVERT=0;
+
+# Scannerdevice und Typ
+#device `fujitsu:/dev/sg0' is a FUJITSU fi-4340Cd scanner -> Farbe
+#devopts="--sleeptimer 1 --dropoutcolor Red"
+#device `fujitsu:/dev/sg0' is a FUJITSU M3093DGdm scanner -> S/W
+scanimageversion=`scanimage --version | cut -d" " -f3 | sed -e "s%\;$%%"` 2>> ${FNAME}.log
+deviceline=`scanimage --formatted-device-list="%t device=%d model=%v%m" | grep -e"^scanner device=" | head -1` 2>> ${FNAME}.log
+device=`echo $deviceline | sed -e "s/^scanner device=\(.*\) model=.*$/\1/"` 2>> ${FNAME}.log
+model=`echo $deviceline | sed -e "s/^scanner device=.* model=\(.*\)$/\1/"` 2>> ${FNAME}.log
+case $model in
+  "FUJITSUfi-4340Cd") devopts="--device-name $device --sleeptimer 5 $devopts";
+                      if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ]
+                      then
+                        devopts="$devopts --rif yes"
+                        INVERT=0
+                     else
+                       devopts="$devopts"
+                       INVERT=0
+                      fi;;
+  "FUJITSUfi-4220Cdj")devopts="--device-name $device --sleeptimer 5 $devopts";
+                      if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ]
+                      then
+                        devopts="$devopts --rif=yes"
+                        INVERT=0
+                     else
+                       devopts="$devopts"
+                       INVERT=0
+                      fi;;
+  "FUJITSUM3092DCd")  devopts="--device-name $device $devopts";
+                      # SuSE 9.3, sane-1.0.15
+                      if [ $MODUS == "Gray" -o $MODUS == "Color" ]; then INVERT=1; fi;
+                     if [ $MODUS == "Lineart" ]; then devopts="$devopts --rif=yes";INVERT=0; fi;;
+  "FUJITSUM3093DGdm") devopts="--device-name $device $devopts";
+                      if [ $MODUS == "Color" ]; then MODUS=Gray; fi;
+                      if [ $MODUS == "Gray"  ]; then INVERT=1; fi;;
+  *) echo "Unbekannter Gerätetyp $typ";exit 0;;
+esac
+
+# Papierquelle / Duplex / Papierformat
+case $SOURCE in
+  ADF) cntopts="--start-count 1 --end-count 2";
+       srcopts="--source ADF --duplex both";
+       fmtopts="-x $B -y $H -l $L";;
+   FB) cntopts="--start-count 1 --end-count 1";
+       srcopts="--source FB";
+       fmtopts="-x $B -y $H";;
+    *) usage;;
+esac
+
+umask 0002
+echo  "scanadf $devopts $srcopts $fmtopts --mode ${MODUS} --resolution ${DPI} --output-file out%d --start-count 1" >> ${FNAME}.log
+scanadf $devopts $srcopts $fmtopts $cntopts \
+          --mode ${MODUS} --resolution ${DPI} \
+          --output-file out%d 1> scanner.out 2> scanner.err
+RET=$?
+sync
+
+if [ $RET==0 -a ! -f out1 ];
+then
+  RET=7
+fi
+#   SANE_STATUS_GOOD = 0,       /* everything A-OK */
+#   SANE_STATUS_UNSUPPORTED,    /* operation is not supported */
+#   SANE_STATUS_CANCELLED,      /* operation was cancelled */
+#   SANE_STATUS_DEVICE_BUSY,    /* device is busy; try again later */
+#   SANE_STATUS_INVAL,          /* data is invalid (includes no dev at open) */
+#   SANE_STATUS_EOF,            /* no more data available (end-of-file) */
+#   SANE_STATUS_JAMMED,         /* document feeder jammed */
+#   SANE_STATUS_NO_DOCS,        /* document feeder out of documents */
+#   SANE_STATUS_COVER_OPEN,     /* scanner cover is open */
+#   SANE_STATUS_IO_ERROR,       /* error during device I/O */
+#   SANE_STATUS_NO_MEM,         /* out of memory */
+#   SANE_STATUS_ACCESS_DENIED   /* access to resource has been denied */
+case $RET in
+   0)
+       if [ -n "${FNAME}" -a $RET -eq 0 ]; then
+         if [ $INVERT -eq 0 ]
+         then
+           if [ $SOURCE == ADF ];then
+             pnmtotiff out1 2>> ${FNAME}.log > ${FNAME}_f.tif
+             pnmtotiff out2 2>> ${FNAME}.log > ${FNAME}_b.tif
+             rm -f out1 out2 2>> ${FNAME}.log
+           else
+             pnmtotiff out1 2>> ${FNAME}.log > ${FNAME}.tif
+             rm -f out1 2>> ${FNAME}.log
+           fi
+         else
+           if [ $SOURCE == ADF ];then
+             pnminvert out1 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}_f.tif
+             pnminvert out2 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}_b.tif
+             rm -f out1 out2 2>> ${FNAME}.log
+           else
+             pnminvert out1 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}.tif
+             rm -f out1 2>> ${FNAME}.log
+
+           fi
+         fi
+       fi
+       ;;
+   1) ERRMSG=$(grep "scanadf: sane_start:" scanner.err | sed -e"s/scanadf: sane_start: *//")
+      echo "$ERRMSG" ;;
+   2) echo "Abbruch durch Benutzer." ;;
+   3) echo "Scanner ist beschäftigt. Versuchen Sie es später nocheinmal." ;;
+   4) echo "Ungültige Daten empfangen." ;;
+   5) echo "Abbruch der Datenkommunikation zwischen Scanner und Hostsystem." ;;
+   6) echo "Papierstau: Bitte entnehmen Sie das Scanmaterial, ordnen es und legen es erneut an." ;;
+   7) echo "Keine Dokumente zum Scannen angelegt." ;;
+   8) echo "Deckel des Scanners ist offen. Deckel schließen und erneut versuchen." ;;
+   9) echo "Fehler während der Kommunkation mit dem Scanner." ;;
+  10) echo "Es steht der Anwendung kein weiterer Speicher zur Verfügung."  ;;
+  11) echo "Zugriff zum Scanner verweigert."  ;;
+   *) echo "Fehlercode=$RET"  ;;
+esac
+exit 0
diff --git a/scanneron b/scanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
+++ b/scanneron
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/script.sh b/script.sh
new file mode 100755 (executable)
index 0000000..27925fb
--- /dev/null
+++ b/script.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+while [ 1 ]
+do
+       sleep 4
+done
diff --git a/search_force.sh b/search_force.sh
new file mode 100755 (executable)
index 0000000..36cabf0
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+ARCHIVDIR=/home/modarch/archiv/scan
+DATENFILE=/tmp/isu_kadis_abzug
+count=0
+for i in `find $ARCHIVDIR -type f -name \*.dat | xargs egrep "^NOTE" |cut -d":" -f1`
+do     
+       S0001=""
+       S0002=""
+       S0005=""
+       S0010=""
+       S0070=""
+       S0100=""
+       S0120=""
+       S0230=""
+       S0240=""
+       S0300=""
+       S0800=""
+       S0801=""
+       S0802=""
+       S0809=""
+       S9000=""
+       ISUNR1=""
+       ISUNR2=""
+       ISUNR3=""
+       NOTE=""
+       S9995=""
+       #echo ${i} wird bearbeitet
+       #Sicherung anlegen
+       #cp ${i} ${i}.search_force.save
+       linecount=1
+       while read line
+       do
+               line[$linecount]=${line}
+               ((linecount++))
+       done < ${i}
+
+       S0001=`echo "${line[1]}" |cut -d" " -f2-`
+       S0002=`echo "${line[2]}" |cut -d" " -f2-`
+       S0005=`echo "${line[3]}" |cut -d" " -f2-`
+       S0010=`echo "${line[4]}" |cut -d" " -f2-`
+       S0070=`echo "${line[5]}" |cut -d" " -f2-`
+       S0100=`echo "${line[6]}" |cut -d" " -f2-`
+       S0120=`echo "${line[7]}" |cut -d" " -f2-`
+       S0230=`echo "${line[8]}" |cut -d" " -f2-`
+       S0240=`echo "${line[9]}" |cut -d" " -f2-`
+       S0300=`echo "${line[10]}" |cut -d" " -f2-`
+       S0800=`echo "${line[11]}" |cut -d" " -f2-`
+       S0801=`echo "${line[12]}" |cut -d" " -f2-`
+       S0802=`echo "${line[13]}" |cut -d" " -f2-`
+       S0809=`echo "${line[14]}" |cut -d" " -f2-`
+       S9000=`echo "${line[15]}" |cut -d" " -f2-`
+       ISUNR1=`echo "${line[16]}" |cut -d" " -f2-`
+       ISUNR2=`echo "${line[17]}" |cut -d" " -f2-`
+       ISUNR3=`echo "${line[18]}" |cut -d" " -f2-`
+       NOTE=`echo "${line[19]}" |cut -d" " -f2-`
+       S9995=`echo "${line[20]}" |cut -d" " -f2-`
+       #echo "${S0001} ${S0002} ${S0005} ${S0010}"
+       if [ -z "${S0001}" -o -z "${S0002}" -o -z "${S0005}" -o -z "${S0010}" ]
+       then
+               echo "Fehler in KEYS S0001-S0010"
+       fi
+       if [ -z "${S0070}" ]
+       then
+               echo "KAE in Datei ${i} leer"
+       fi
+       #echo -e "${S0100}\n${S0120}\n${S0230}\n${S0240}\n${S0300}\n${ISUNR1}\n${ISUNR2}\n${ISUNR3}\n"
+       if [  "${S0100}" != "S0100" -a "${S0120}" != "S0120" -a "${S0230}" != "S0230" -a "${S0240}" != "S0240" -a "${S0300}" != "S0300" -a "${ISUNR1}" != "ISUNR" -a "${ISUNR2}" != "ISUNR" -a "${ISUNR3}" != "ISUNR" ]
+       then    
+               ((count++))
+               if [ "${S0070}" != "S0070" ]
+               then
+                       echo -e "$S0005\n$S0010\n$S0070\n$S0120\n$S0230\n$S0240\n#"
+               else
+                       echo -e "$S0005\n$S0010\n$S0120\n$S0230\n$S0240\n#"
+               fi
+               #echo "NOK:(alles da) NOTE ist unberechtigt in $i"
+       else
+               hallo=j 
+               #echo "OK:(irgendwas leer) NOTE ist berechtigt in $i"
+       fi
+done
+echo $count
diff --git a/sepa_ocr.sh b/sepa_ocr.sh
new file mode 100755 (executable)
index 0000000..072a625
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+#clean /tmp/
+rm -rf /tmp/*snip*.png
+
+#selbst gescannte
+#X=872
+#Y=2042
+#dX=1402
+#dY=142
+
+
+#eins aktion kleine bilder
+#X=440
+#Y=1050
+#dX=660
+#dY=75
+
+#scan aktuell
+X=540
+Y=1350
+dX=930
+dY=110
+
+PWD=$(pwd)
+
+SETCOLOR_SUCCESS="echo -en \\033[1;32m"
+SETCOLOR_FAILURE="echo -en \\033[1;31m"
+SETCOLOR_NORMAL="echo -en \\033[0;39m"
+
+OCR_BIN="/home/modscan/ocr/ocr-ausschnitt-rep"
+OCR_REC="/home/modscan/ocr/handde.rec"
+
+
+OCR_OPTION_1=""
+OCR_OPTION_1=" -grid-hline-min 40"
+OCR_OPTION_2=""
+OCR_OPTION_2=" -char-height-min 25"
+OCR_OPTION_3=""
+OCR_OPTION_3=" -char-space-min 10"
+OCR_OPTION_4=""
+OCR_OPTION_4=" -redo"
+OCR_OPTION_5=" -subimage 540 1350 1470 1460"
+
+O_CONVERT_1=""
+#O_CONVERT_1=" -enhance"
+O_CONVERT_2=""
+#O_CONVERT_2=" -blur 1x1"
+O_CONVERT_3=""
+#O_CONVERT_3=" -enhance -enhance"
+O_CONVERT_4=""
+O_CONVERT_4=""
+
+OK=0
+
+for p in `ls ${PWD}/*.png`
+do
+       RET="7890"
+       #convert -crop ${dX}x${dY}+${X}+${Y} $O_CONVERT_1 $O_CONVERT_2 $O_CONVERT_3 $O_CONVERT_4 $p `basename ${p} .png`_snip.png
+#      cp -f `basename ${p} .png`_snip.png /tmp/
+       #cat `basename ${p} .png`_snip.pnm |pnmdepth 8 |pnmtopng > `basename ${p} .png`_snip.png        
+       #convert -depth 8 `basename ${p} .png`_snip.png `basename ${p} .png`_snip.jpg
+       #convert `basename ${p} .png`_snip.jpg `basename ${p} .png`_snip.png
+       PNG_BASE=`basename $p .png`
+       #RET=`$OCR_BIN ${PNG_BASE}_snip.png $OCR_REC 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 $OCR_OPTION_5|tail -n2|sed -e "s/ *//g" -e "s/~//g" |grep -v '^$'`
+       RET=`$OCR_BIN ${PNG_BASE}.png $OCR_REC 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 $OCR_OPTION_5|tail -n2|sed -e "s/ *//g" -e "s/~//g" |grep -v '^$'`
+       #RET=$(/home/modscan/ocr/ocr-ausschnitt-rep `basename $p .png`_snip.png /home/modscan/ocr/handde.rec 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 |tail -n2)
+       RET=`echo ${RET:2:30} |sed -e "s/D/0/g"`
+       #RET=`echo $RET |sed -e "s/^../DE/"`
+       RET=DE$RET
+       echo "ERKANNT: >${RET}<"
+       #echo "IST:     >`basename $p .png`<"
+#      if [ "$RET" == "$PNG_BASE" ]; then
+       java -jar /home/mhoellein/iban.jar $RET
+       if [ $? -eq 3 ]; then
+               $SETCOLOR_SUCCESS
+               echo OK
+               ((OK++))
+       else
+               $SETCOLOR_FAILURE
+               echo FEHLER
+       fi
+       $SETCOLOR_NORMAL
+done
+
+echo "Erkannt: $OK"
+
+
+#for o in `ls ${PWD}/*_snip.png`
+#do
+
+#done
+mv ${PWD}/*_snip.png /tmp/
+
+#rm -rf ${PWD}/*_snip.png
diff --git a/sh_test.sh b/sh_test.sh
new file mode 100755 (executable)
index 0000000..674cebb
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+line[0]="null"
+line[1]="eins"
+
+echo ${line[0]}
+echo $line[1]
+echo $line
+echo $line[2]
+
+
+S1="test"
+S2=""
+
+if [ "${S1}" = "" ]
+then
+       echo "S1 ist leer"
+else
+       echo "S1 ist nicht leer"
+fi
+
+if [ "${S2}" = "1" -o "${S1}" = "" ]
+then
+       echo "S2 ist leer"
+else
+       echo "S2 ist nicht leer"
+fi
diff --git a/sonderfaelle_egs_herbstaktion.sh b/sonderfaelle_egs_herbstaktion.sh
new file mode 100755 (executable)
index 0000000..63fe2c3
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+#set -x 
+INCOMMING='/home/mhoellein/Aktionen/EGS/Herbstatktion/incomming/'
+export PWD=`pwd`
+
+findOriginalFile() {
+       result=`grep -ri --include='*.id' $1 $INCOMMING`
+       echo $result
+}
+
+applyPatchToNewDat() {
+       mkdir -p $PWD/$$/modwork_qrcode/
+       cp $PWD/*.dat $PWD/$$/modwork_qrcode/
+       sed -i "s#\(MW_ID.*\)#ORIG_\1\\nMW_ID#" $PWD/$$/modwork_qrcode/*.dat
+}
+
+applyPatchToOriginalFiles() {
+#      $1 - file
+#      $2 - MW_ID
+       o_file=`mktemp`
+       echo $o_file
+       while read line
+       do
+               if [ `echo $line|grep -c "ERFASSUNG_HOST"` -gt 0 ]; then
+                       echo -e "${line}\nSTATE geloescht\nMW_ID $2" >> $o_file 
+               else
+                       echo ${line} >> $o_file
+               fi
+       done<$1
+#      echo "o_file=$o_file"
+#      echo "\$1=$1"
+       basename=`basename $1 .dat`
+#      echo basename=$basename
+       newfilename="${basename}_up_"
+#      echo newfilename=$newfilename
+       date=`date +%Y%m%d_%H%M%S`
+#      echo date=$date
+       newfilename="${newfilename}${date}"
+#      echo newfilename=$newfilename
+       outfile="$PWD/$$/${newfilename}.dat"
+#      echo outfile=$outfile 
+       #mv $o_file $PWD/$$/`basename $1 |sed -e s/\.dat/_up_$(date +%Y%m%d_%H%M%S).dat/`
+#      echo $o_file $PWD/$$/`basename $1 |sed -e s/\.dat$/_up_$(date +%Y%m%d_%H%M%S).dat/`
+       mv $o_file $outfile
+}
+
+copy() {
+       #echo $1 | cut -d: -f1 |sed -e s/.id$/.dat/
+       mkdir -p ${PWD}/$$
+       FILENAME=`echo $1|cut -d: -f1 |sed -e s/.id$/.dat/`
+       MW_ID=`echo $1|cut -d: -f2`
+       echo "copy FILENAME=${FILENAME}"
+       cp ${FILENAME} ${PWD}/$$/
+       applyPatchToOriginalFiles $FILENAME $MW_ID 
+}      
+
+copyTarToAppkyPatchDir() {
+       cp $PWD/*.tar $PWD/$$/modwork_qrcode/
+}
+
+main() {
+       #alle MW_IDs im Verzeichnis suchen
+       for i in $(grep MW_ID ${PWD}/*.dat |cut -d":" -f2 |cut -d" " -f2 |sort|uniq)
+       do
+               RET=$(findOriginalFile $i)
+               echo $RET
+               copy $RET
+               #applyPatchToFile $RET
+       done
+       applyPatchToNewDat
+       copyTarToAppkyPatchDir
+}
+main
+
+
diff --git a/sortSWGAktion5550017.sh b/sortSWGAktion5550017.sh
new file mode 100755 (executable)
index 0000000..06e513c
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/bash
+#sortiert die Aktion 5550017 der SWG
+#in entsprechende Verzeichnisse um diese
+#anschließend in MODWORK zu kopieren
+
+
+#DEBUG > 10, nur ausgaben und keine Aktionen
+#DEBUG > 0 && DEBUG < 10, ausgaben und Aktionen
+DEBUG=11
+PWD=`pwd`
+CSVFILE=/home/mhoellein/Aktionen/Stadtwerke_Glauchau/original_CSV/AUSWERTUNG.csv
+
+
+grepForFiles() {
+       NUMBERS=$1
+       FILEBASE=$2
+       for n in $NUMBERS;do
+               grep -l "CSV_RETURN_VALUE $n.." $PWD/${FILEBASE}*.dat
+       done
+}
+
+createDir() {
+       if [ $DEBUG -gt 0 ]; then
+               echo "do: mkdir -p $1"
+       fi
+       if [ $DEBUG -lt 10 ];then 
+               mkdir -p $1
+       fi      
+}
+
+moveFilesToDIR() {
+       if [ $DEBUG -gt 0 ];then
+               echo "do: mv $1 $2"
+       fi
+       if [ $DEBUG -lt 10 ]; then
+               mv $1 $2
+       fi
+}
+
+createResultFile() {
+       #grep nach OCR_CODE 5550017/2/1180935/57
+       #Nummer ausschneiden 5550017/2/1180935/57
+       #grep nach Nummer in Daten von Lars
+       #Zeile rausschreiben und WERT 1 durch Nummer X ersetzen 5550017/X/1180935/57
+       echo result     
+}
+
+sortFilesInDirs() {
+       SAVEDIR=$PWD/`echo $1 | sed -e "s# #_#g"`
+       if [ $DEBUG -gt 0 ]; then
+               echo "mkdir -p $SAVEDIR"
+       fi
+       for f in  `grepForFiles "12000 12001" modscan_ama_`;do
+               if [ $DEBUG -gt 0 ]; then
+                       echo "mv $f $SAVEDIR"
+               fi
+               if [ $DEBUG -lt 10 ]; then
+                       mv $f $SAVEDIR
+               fi
+       done
+}
+
+createResultFileforDir() {
+       headline="OCR-MATCH,LOGSYS,BEGRU,BUKRS,AKTIONSNR,BARCODE,VKONT,TITLE,AD_TITLE_TEXT,NAME1,NAME2,NAME3,NAME4,STREET,HOUSE_NUM1,HOUSE_NUM2,POST_CODE1,CITY1,CITY2,COUNTRY,STREETCODE,CITY_CODE,CITYP_CODE,PCODE1_EXT,PCODE2_EXT,PCODE3_EXT,SMTP_ADDR,TELNR_LONG,FAXNR_LONG,APLZ,AORT,ASTRASSE,AHNR,AHNRZ,BANKL,BANKN,BANKA,KOINH,LINE0,LINE1,LINE2,LINE3,LINE4,LINE5,LINE6,LINE7,LINE8,LINE9,R_TITLE,R_AD_TITLE_TEX,R_NAME1,R_NAME2,R_NAME3,R_NAME4,R_STREET,R_HOUSE_NUM1,R_HOUSE_NUM2,R_POST_CODE1,R_CITY1,R_CITY2,R_COUNTRY,R_LINE0,R_LINE1,R_LINE2,R_LINE3,R_LINE4,R_LINE5,R_LINE6,R_LINE7,R_LINE8,R_LINE9,R_SMTP_ADDR,R_TELNR_LONG,R_FAXNR_LONG,V_ABRMENGE,KWLEISTUNG,ZEITANT,VERTRAG,GERAET,PARTNER,VREFER,ABLEINH,TARIFTYP,BDATUM,EDATUM,VDATUM,KDATUM,DATUM,UZEIT,UNAME,FILEN,WERT1,DATE1,REGIOGR_CA_B,PREIS,AB,BIS,SERNROP"
+       headline1="LOGSYS,BEGRU,BUKRS,AKTIONSNR,BARCODE,VKONT,TITLE,AD_TITLE_TEXT,NAME1,NAME2,NAME3,NAME4,STREET,HOUSE_NUM1,HOUSE_NUM2,POST_CODE1,CITY1,CITY2,COUNTRY,STREETCODE,CITY_CODE,CITYP_CODE,PCODE1_EXT,PCODE2_EXT,PCODE3_EXT,SMTP_ADDR,TELNR_LONG,FAXNR_LONG,APLZ,AORT,ASTRASSE,AHNR,AHNRZ,BANKL,BANKN,BANKA,KOINH,LINE0,LINE1,LINE2,LINE3,LINE4,LINE5,LINE6,LINE7,LINE8,LINE9,R_TITLE,R_AD_TITLE_TEX,R_NAME1,R_NAME2,R_NAME3,R_NAME4,R_STREET,R_HOUSE_NUM1,R_HOUSE_NUM2,R_POST_CODE1,R_CITY1,R_CITY2,R_COUNTRY,R_LINE0,R_LINE1,R_LINE2,R_LINE3,R_LINE4,R_LINE5,R_LINE6,R_LINE7,R_LINE8,R_LINE9,R_SMTP_ADDR,R_TELNR_LONG,R_FAXNR_LONG,V_ABRMENGE,KWLEISTUNG,ZEITANT,VERTRAG,GERAET,PARTNER,VREFER,ABLEINH,TARIFTYP,BDATUM,EDATUM,VDATUM,KDATUM,DATUM,UZEIT,UNAME,FILEN"
+       headline2="DATE1,REGIOGR_CA_B,PREIS,AB,BIS,SERNROP"
+       for i in `ls ${1}/modscan_ama*.dat`
+       do
+               unset OCRNUMBER
+               OCRNUMBER=`cat $i | grep OCR_CODE | cut -d " " -f 2`
+               if [ $DEBUG -gt 0 ]; then
+                       echo "OCRNUMBER=$OCRNUMBER"
+                       echo ""
+               fi
+               if [ -n $OCRNUMBER ]; then
+                       line=`grep $OCRNUMBER $CSVFILE`
+                       line=`echo -e "$headline\n$line"`
+                       first=`echo "$line" | csvread -c '^'|csvcut -f $headline1|csvwrite -d ',' -c '^'`
+                       last=`echo "$line" | csvread -c '^'|csvcut -f $headline2|csvwrite -d ',' -c '^'`
+                       wert=`echo $OCRNUMBER|cut -d'/' -f2`
+                       if [ $DEBUG -gt 0 ]; then
+                               echo "line=$line"
+                               echo ""
+                               echo "first=$first"
+                               echo ""
+                               echo "wert=$wert"
+                               echo ""
+                               echo "last=$last"
+                               echo ""
+                               echo "$first,^$wert^,$last"|grep -v "LOGSYS"
+                               
+                       fi
+                               
+                       if [ $DEBUG -lt 10 ];then
+                               echo "$first $wert $last"
+                       fi
+               fi
+               return 1
+       done
+}
+
+
+createResultFileforDir /home/swg/archiv
+#sortFilesInDirs "12000 12001"
+#sortFilesInDirs "13000 13001" modscan_ama_
+#sortFilesInDirs "14000 14001" modscan_ama_
+#sortFilesInDirs "15000 15001" modscan_ama_
+#sortFilesInDirs "16000" modscan_ama_
+
+
+
diff --git a/sort_for_isu.tcl b/sort_for_isu.tcl
new file mode 100755 (executable)
index 0000000..a045011
--- /dev/null
@@ -0,0 +1,14 @@
+#! /usr/bin/wish -f
+
+set abzugfile [open ./newkadis r]
+set out [open ./out.file w]
+
+while {[gets $abzugfile line]>=0} {
+       set abzugfilelist [split ${line} ";"]
+       puts $out "[lindex $abzugfilelist 0];[lindex $abzugfilelist 4];[lindex $abzugfilelist 2];[lindex $abzugfilelist 1];[lindex $abzugfilelist 5];[lindex $abzugfilelist 6];[lindex $abzugfilelist 7];[lindex $abzugfilelist 3];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 12]"
+}
+
+
+flush $abzugfile
+close $abzugfile
+close $out
diff --git a/sortindex b/sortindex
new file mode 100755 (executable)
index 0000000..d824d63
Binary files /dev/null and b/sortindex differ
diff --git a/splitfile b/splitfile
new file mode 100755 (executable)
index 0000000..e04d543
Binary files /dev/null and b/splitfile differ
diff --git a/spotify-rpm-generator.sh b/spotify-rpm-generator.sh
new file mode 100755 (executable)
index 0000000..8c17e69
--- /dev/null
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# Author: Marguerite Su <i@marguerite.su>
+# License: GPL-3.0
+# Version: 1.0
+# Description: Shell Scripts used to build and install Spotify standard RPM for openSUSE.
+
+# need root permission
+
+if [[ $UID -ne 0 ]]
+then
+        echo -e "\033[38;5;148mOnly root can run this script!\033[39m"
+        exit 1
+fi
+
+# define spotify parameters
+
+SPOTIFY_VERSION=0.8.4.103.g9cb177b.260-1
+
+if [ `uname -m` == 'x86_64' ]; then
+        SPOTIFY_ARCH=amd64
+       RPM_ARCH=x86_64
+else
+        SPOTIFY_ARCH=i386
+       RPM_ARCH=i586
+fi
+
+NORMAL_USER=`logname`
+
+# check if we have 'rpmbuild' package installed, if not then install it.
+
+if [[ `rpm -qa rpm-build` == "" ]] ; then
+       zypper --no-refresh install rpm-build # 'rpm-build' is in oss, so no need to refresh that long.
+fi
+
+# prepare for the build environment.
+
+# download specfile from github
+cd /usr/src/packages/SPECS/
+wget https://raw.github.com/marguerite/opensuse-spotify-installer/master/spotify.spec -O spotify.spec
+
+# download source deb
+cd ../SOURCES/
+
+echo -e "\033[38;5;148mIf you already have spotify deb, please press 'ctrl + c',
+put it under your home, and restart this script.(ignore if it's already done.)
+or else we'll download it (may take a long time).\033[39m"
+
+sleep 5
+
+echo -e "\033[38;5;148mDownloading...\033[39m"
+       
+test -e /home/$NORMAL_USER/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb && cp -r /home/$NORMAL_USER/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb ./ || wget -c http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb
+
+# build
+
+echo -e "\033[38;5;148mBuilding...\033[39m"
+
+cd ../SPECS/
+rpmbuild -ba spotify.spec
+
+echo -e "\033[38;5;148mBuild done! Cleaning...\033[39m"
+
+# clean
+
+## copy generated rpm
+
+cp -r ../RPMS/$RPM_ARCH/*.rpm /home/$NORMAL_USER/
+     
+## real clean
+rm -rf /usr/src/packages/SOURCES/spotify-*.deb
+rm -rf /usr/src/packages/BUILD/spotify-*
+rm -rf /usr/src/packages/BUILDROOT/*
+rm -rf /usr/src/packages/RPM/$RPM_ARCH/spotify-*.rpm
+rm -rf /usr/src/packages/SRPM/spotify-*.rpm
+rm -rf /usr/src/packages/SPECS/spotify.spec
+
+# install
+
+## dependencies
+
+echo -e "\033[38;5;148mResolving dependencies...\033[39m"
+
+! [ `rpm -qa mozilla-nss` ] && zypper --no-refresh install mozilla-nss
+! [ `rpm -qa mozilla-nspr` ] && zypper --no-refresh install mozilla-nspr
+! [ `rpm -qa libopenssl1_0_0` ] && zypper --no-refresh install libopenssl1_0_0
+
+echo -e "\033[38;5;148mInstalling...\033[39m"
+
+rpm -ivh --force --nodeps /home/$NORMAL_USER/spotify-*.rpm
+
+echo -e "\033[38;5;148mCongrats! Installation finished.
+We put the generated RPM under your home.
+Next time you can use 'sudo rpm -ivh --force --nodeps spotify-*.rpm' or
+'sudo zypper --no-refresh install --force-resolution' to install it.\033[39m"
+
+# quit
+
+echo -e "\033[38;5;148mQuitting...\033[39m"
+
+exit 0
+
diff --git a/startWorking b/startWorking
new file mode 100755 (executable)
index 0000000..9340b07
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+USER="mhoellein"
+WGET="wget --no-proxy --no-check-certificate --quiet -O -"
+STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username='
+STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username='
+TIMEFILE="/localhome/mhoellein/privat/newTime.txt"
+
+createStartTimeForFile () {
+       startTime=`date "+%d.%m.%y%t%H.%M"`
+       echo -n $startTime >> $TIMEFILE
+}
+
+createStopTimeForFile () {
+       stopTime=`date +"-%H.%M"`
+       echo $stopTime >> $TIMEFILE
+}
+
+startWorking () {
+       ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1
+       createStartTimeForFile
+}
+
+stopWorking () {
+       ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1
+       createStopTimeForFile
+}
+
+case $0 in
+       *start*) startWorking ;;
+       *stop*) stopWorking ;;
+       *) echo "unbekannte Option..." ;;
+esac
diff --git a/start_eclipse.sh b/start_eclipse.sh
new file mode 100755 (executable)
index 0000000..946850a
--- /dev/null
@@ -0,0 +1,2 @@
+export LC_NUMERIC=C
+/home/mhoellein/eclipse/eclipse
diff --git a/statistik_tar.sh b/statistik_tar.sh
new file mode 100755 (executable)
index 0000000..4a371cc
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+logfile="/tmp/statistik_tar.log"
+tarcounter=0
+filepattern="modscan_*.tar"
+sum_allpng=0
+for tar in `find $pwd -iname $filepattern`
+do
+       echo $tar
+       #anzahl tars
+       let tarcounter=tarcounter+1
+       #gesamtinhalt tar und einzelfiles
+       x=`tar tvf $tar |awk 'BEGIN{sum=0}{sum=sum+$3}{print $6 " hat size = " $3}END{print "pngs in tar gesamt = " sum "\nsum=" sum }'`
+       printf "%s\n" "$x" | sed -e '$d'
+        eval `printf "%s\n" "$x" | sed -n -e '$p'`
+        let sum_allpng=sum+sum_allpng
+       echo "------------------------------"
+done
+echo "$tarcounter Dokumente wurden verarbeitet."
+echo "Summe alle png-files = $sum_allpng"
+echo "durchschnittliche Dokumentengröße = `expr $sum_allpng / $tarcounter`"
diff --git a/stopWorking b/stopWorking
new file mode 100755 (executable)
index 0000000..9340b07
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+USER="mhoellein"
+WGET="wget --no-proxy --no-check-certificate --quiet -O -"
+STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username='
+STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username='
+TIMEFILE="/localhome/mhoellein/privat/newTime.txt"
+
+createStartTimeForFile () {
+       startTime=`date "+%d.%m.%y%t%H.%M"`
+       echo -n $startTime >> $TIMEFILE
+}
+
+createStopTimeForFile () {
+       stopTime=`date +"-%H.%M"`
+       echo $stopTime >> $TIMEFILE
+}
+
+startWorking () {
+       ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1
+       createStartTimeForFile
+}
+
+stopWorking () {
+       ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1
+       createStopTimeForFile
+}
+
+case $0 in
+       *start*) startWorking ;;
+       *stop*) stopWorking ;;
+       *) echo "unbekannte Option..." ;;
+esac
diff --git a/switch_network.sh b/switch_network.sh
new file mode 100644 (file)
index 0000000..caa1eff
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+# call nohup /root/switch_network & 
+
+(
+set -x
+echo "-----------------------"
+date
+# Zeit zum abmelden
+sleep 60
+ifconfig -a
+route -n
+
+# alte Config sichern
+[ -d /etc/sysconfig/network_save ] && mv /etc/sysconfig/network_save /etc/sysconfig/network_save_$(date +%Y%m%d%H%M%S)
+cp -a /etc/sysconfig/network /etc/sysconfig/network_save
+
+# Neue Config
+rm -f /etc/sysconfig/network/ifcfg-eth0
+echo "default via 10.10.1.253 dev eth0" > /etc/sysconfig/network/routes
+cat > /etc/sysconfig/network/ifcfg-eth0 <<EOF
+BOOTPROTO='static'
+BRIDGE='yes'
+BRIDGE_FORWARDDELAY='0'
+BRIDGE_PORTS='eth0'
+BRIDGE_STP='off'
+STARTMODE='auto'
+USERCONTROL='no'
+BROADCAST=''
+ETHTOOL_OPTIONS=''
+IPADDR='10.1.1.176/24'
+MTU=''
+NAME=''
+NETWORK=''
+REMOTE_IPADDR=''
+EOF
+
+# Neue Config aktivieren
+/sbin/rcnetwork restart
+
+ifconfig -a
+route -n
+
+
+# warte eine Stunde
+sleep 600
+
+# wenn das Script nicht gekilled wird, m.a.w. wir keine Verbindung bekommen:
+# switch back
+rm -f /etc/sysconfig/network/ifcfg-eth0
+cp -a /etc/sysconfig/network_save/ifcfg-eth0 /etc/sysconfig/network/ifcfg-eth0
+cp -a /etc/sysconfig/network_save/routes /etc/sysconfig/network/routes
+# alte Config aktivieren
+/sbin/rcnetwork restart
+
+
+# wenn es geklappt hat:
+# kill $(pgrep switch_network)
+) 2>&1 | tee -a /root/switch_network.log 
+
diff --git a/swmscanneron b/swmscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/t.sh b/t.sh
new file mode 100755 (executable)
index 0000000..2bc39bc
--- /dev/null
+++ b/t.sh
@@ -0,0 +1,14 @@
+# vim: fileencoding=latin1
+#!/bin/sh
+tes_ter () {
+       if test $# -ne 1; then
+               echo "ne da"
+       else
+               echo $1 
+       fi
+}
+
+echo 1
+tes_ter
+echo 2
+tes_ter chtest
diff --git a/t.tcl b/t.tcl
new file mode 100755 (executable)
index 0000000..bfff4bc
--- /dev/null
+++ b/t.tcl
@@ -0,0 +1,14 @@
+#!/usr/bin/wish
+#if {1+2 != 3} {
+#      error "something is very wrong with addition"
+#}
+while { 1 } {
+       #set anz i[exec ps auxx | grep ssh | wc -l
+       #puts "$anz = anz"
+       if { [exec ps auxx | grep ssh | wc -l] == 4 } {
+               puts "4"
+       } else {
+               puts "!4"
+       }
+       after 1000
+}
diff --git a/t1.sh b/t1.sh
new file mode 100755 (executable)
index 0000000..aedee15
--- /dev/null
+++ b/t1.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+news_server="$(host news.freenet.de | egrep "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\." | sed -e "s/.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/") $(host news.individual.de | egrep "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\." | sed -e "s/.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/")"
+
+
+echo "news_server=>${news_server}<"
+
+
+if [ -z "${news_server}" ]; then
+       echo "leer"
+fi
+
diff --git a/t2.sh b/t2.sh
new file mode 100755 (executable)
index 0000000..dfa0b3d
--- /dev/null
+++ b/t2.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+test=hallo
+export test
+t3.sh
diff --git a/t3.sh b/t3.sh
new file mode 100755 (executable)
index 0000000..6cb8aa3
--- /dev/null
+++ b/t3.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo $test
diff --git a/tb_test.sh b/tb_test.sh
new file mode 100755 (executable)
index 0000000..cf4a71d
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/bash
+thunderbird %u -d strace > /tmp/tb.log 2>&1
diff --git a/tcltest.tcl b/tcltest.tcl
new file mode 100755 (executable)
index 0000000..e9c5ba4
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/wish
+package require BLT
+
+set NUM_DOCUMENT 0
+set ArchexeStatus0 {} 
+set ArchexeStatus1 {}
+set ArchexeStatus2 {}
+set ArchexeStatus3 {}
+set ArchexeStatus4 {}
+
+proc run {} {
+       global NUM_DOCUMENT ArchexeStatus0 ArchexeStatus1 ArchexeStatus2 ArchexeStatus3 ArchexeStatus4 
+       puts "run"
+       if {$NUM_DOCUMENT == 0} {
+               blt::bgexec ArchexeStatus0 /home/mhoellein/bin/test.sh &
+       }
+       if {$NUM_DOCUMENT == 1} {
+               blt::bgexec ArchexeStatus1 /home/mhoellein/bin/test.sh &
+       }
+       
+       incr NUM_DOCUMENT
+}
+
+proc show {} {
+       global NUM_DOCUMENT ArchexeStatus0 ArchexeStatus1 ArchexeStatus2 ArchexeStatus3 ArchexeStatus4
+       update
+       puts $ArchexeStatus0
+       puts $ArchexeStatus1
+       puts $ArchexeStatus2
+       puts $ArchexeStatus3
+       puts $ArchexeStatus4
+}
+
+run
+run
+run
+run
+run
+while { 1 } {
+       show
+       after 2000
+}
+
diff --git a/test.c b/test.c
new file mode 100755 (executable)
index 0000000..3677a82
--- /dev/null
+++ b/test.c
@@ -0,0 +1,9 @@
+ #include "stdio.h"
+void main(void) {
+       char *message[] = {"Hello ", "World"};
+       int i;
+       for(i = 0; i = 1; ++i)
+       printf("%s", message[i]);
+       printf("\n");
+}
diff --git a/test.go b/test.go
new file mode 100755 (executable)
index 0000000..4e67c83
--- /dev/null
+++ b/test.go
@@ -0,0 +1,148 @@
+package main
+
+// vCard 3.0 RFC: http://tools.ietf.org/html/rfc2426
+
+import (
+       "bitbucket.org/akavel/vcard"
+       "encoding/xml"
+       "fmt"
+       "io/ioutil"
+       "os"
+)
+
+type RECORD struct {
+       XMLName xml.Name `xml:"RECORD"`
+       EMAIL   string   //
+
+       WORK_FAX      string //
+       PHONE_WORK    string //
+       PHONE_HOME    string //
+       PHONE_MOBILE  string //
+       PHONE_PAGER   string //
+       PHONE_OTHER   string //
+       PHONE_MOBILE2 string // NOTE: added identical as MOBILE
+
+       NAME []string //
+
+       COMPANY string //
+
+       WORK_ADDRESS1 string //
+       WORK_ADDRESS2 string //
+       WORK_CITY     string //
+       WORK_POSTCODE string //
+
+       TITLE string //
+
+       HOME_ADDRESS1 string //
+
+       NOTES string //
+
+       HOME_CITY     string //
+       HOME_POSTCODE string //
+       HOME_COUNTRY  string //
+
+       BIRTHDAY    string //
+       ANNIVERSARY string /* TODO: only vCard 4.0+ */
+}
+
+type IPD struct {
+       XMLName xml.Name `xml:"IPD"`
+       Records []RECORD `xml:"RECORD>RECORD"`
+}
+
+func addphone(v *vcard.VCard, number string, kind ...string) {
+       if number == "" {
+               return
+       }
+       v.Telephones = append(v.Telephones, vcard.Telephone{
+               Type:   kind,
+               Number: number,
+       })
+}
+
+func main() {
+       // read STDIN as IPD-XML file generated by bbb-dat.lua
+       buf, err := ioutil.ReadAll(os.Stdin)
+       if err != nil {
+               panic(err)
+       }
+       var ipd IPD
+       err = xml.Unmarshal(buf, &ipd)
+       if err != nil {
+               panic(err)
+       }
+
+       //fmt.Printf("%#v\n", ipd)
+       _ = fmt.Printf
+
+       var book vcard.AddressBook
+       for _, r := range ipd.Records {
+               var v vcard.VCard
+
+               if r.EMAIL != "" {
+                       v.Emails = []vcard.Email{{Address: r.EMAIL}}
+               }
+
+               addphone(&v, r.WORK_FAX, "fax", "work")
+               addphone(&v, r.PHONE_WORK, "work")
+               addphone(&v, r.PHONE_HOME, "home")
+               addphone(&v, r.PHONE_MOBILE, "cell")
+               addphone(&v, r.PHONE_PAGER, "pager")
+               addphone(&v, r.PHONE_OTHER)
+               addphone(&v, r.PHONE_MOBILE2, "cell")
+
+               switch len(r.NAME) {
+               case 2:
+                       v.FamilyNames = []string{r.NAME[1]}
+                       v.FormattedName = " " + r.NAME[1]
+                       fallthrough
+               case 1:
+                       v.GivenNames = []string{r.NAME[0]}
+                       v.FormattedName = r.NAME[0] + v.FormattedName
+               }
+
+               if r.COMPANY != "" {
+                       v.Org = []string{r.COMPANY}
+               }
+
+               v.Title = r.TITLE
+               v.Note = r.NOTES
+               v.Birthday = r.BIRTHDAY
+
+               if r.ANNIVERSARY != "" {
+                       if v.Note != "" {
+                               v.Note += "\n"
+                       }
+                       v.Note += "Anniversary: " + r.ANNIVERSARY
+               }
+
+               if r.WORK_ADDRESS1+
+                       r.WORK_ADDRESS2+
+                       r.WORK_CITY+
+                       r.WORK_POSTCODE != "" {
+                       v.Addresses = append(v.Addresses, vcard.Address{
+                               Type:            []string{"work"},
+                               Street:          r.WORK_ADDRESS1,
+                               ExtendedAddress: r.WORK_ADDRESS2,
+                               Locality:        r.WORK_CITY,
+                               PostalCode:      r.WORK_POSTCODE,
+                       })
+               }
+               if r.HOME_ADDRESS1+
+                       r.HOME_CITY+
+                       r.HOME_POSTCODE+
+                       r.HOME_COUNTRY != "" {
+                       v.Addresses = append(v.Addresses, vcard.Address{
+                               Type:        []string{"home"},
+                               Street:      r.HOME_ADDRESS1,
+                               Locality:    r.HOME_CITY,
+                               PostalCode:  r.HOME_POSTCODE,
+                               CountryName: r.HOME_COUNTRY,
+                       })
+               }
+
+               book.Contacts = append(book.Contacts, v)
+       }
+
+       book.WriteTo(vcard.NewDirectoryInfoWriter(os.Stdout))
+}
diff --git a/test.pl b/test.pl
new file mode 100755 (executable)
index 0000000..4f076f0
--- /dev/null
+++ b/test.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl 
+
+sub fail {
+       my ($msg) = @_;
+       #print STDERR "$0: ", $msg, "\n";
+       print STDERR "$ENV{HOSTNAME}: ", $msg, "\n";
+       exit -1;
+}
+
+
+$pathexpr='(archiv/scan/POST/\d{6}/|incomming/scan/scanalk/|archiv/scan/scan02/\d{4}|archiv/scan/scan02/\d{4}/\d{2}|archiv/scan/scan02/\d{4}/\d{2}/\d{2}|archiv/scan/scan04/\d{4}|archiv/scan/scan04/\d{4}/\d{2}|archiv/scan/scan04/\d{4}/\d{2}/\d{2}|archiv/scan/scan05/\d{4}|archiv/scan/scan05/\d{4}/\d{2}|archiv/scan/scan05/\d{4}/\d{2}/\d{2}|archiv/scan/scan06/\d{4}|archiv/scan/scan06/\d{4}/\d{2}|archiv/scan/scan06/\d{4}/\d{2}/\d{2}|archiv/scan/scan07|archiv/scan/scan07/\d{4}|archiv/scan/scan07/\d{4}/\d{2}|archiv/scan/scan07/\d{4}/\d{2}/\d{2}|incomming/scan/scanatt/|incomming/scan/scansvk/|incomming/scan/scanrga/|incomming/scan/scanze/|incomming/update)\/{0,1}[\w\-]*>{0,1}[\w\-]*';
+$command='rsync -avuz /home/modscan/2012/ modarch@egs-archiv:archiv/scan/scan07';
+if 
+print $command;
+fail "geht nicht"
+       unless ($command=~m/^\s*(rsync .*) ($pathexpr)\s*$/);
+
+print $command;
+exit
diff --git a/test.sh b/test.sh
new file mode 100755 (executable)
index 0000000..bd07e68
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+testing() {
+default="nothing"
+U=${1-$default}
+if [ "${U}" != "${default}" ];then
+    echo "nicht default"
+    echo $U
+else
+    echo default
+    echo $U
+fi
+}
+testing
+testing user
+testing user buser
+exit
+
+
+
+
+i=1
+while [ 1 == 1 ]
+do
+       echo "test"
+       sleep 2
+       let i=i+1
+       if [ $i -eq 10 ]; then
+               exit 0 
+       fi
+done
diff --git a/test.tcl b/test.tcl
new file mode 100755 (executable)
index 0000000..a77bc8b
--- /dev/null
+++ b/test.tcl
@@ -0,0 +1,23 @@
+#!/usr/bin/wish
+
+puts "argv:${argv}"
+puts "argc:${argc}"
+
+set z 10
+for {set x 0} {$x < $z} { incr x} {
+       for {set y 0} {$y < 10 } { incr y} {
+               puts "x=$x y=$y"
+               if { [expr $y%2] } {
+                       incr z -2
+                       break
+               }
+       }
+}
+
+set l { 0 1 2 3 4 5 6 7 8 9 }
+puts "aus folgender Liste:"
+puts "$l"
+puts "die 3 rausnehmen und neue Liste ausgeben"
+puts "[lreplace $l 3 3]"
+
+exit
diff --git a/test1.c b/test1.c
new file mode 100755 (executable)
index 0000000..c7ccb22
--- /dev/null
+++ b/test1.c
@@ -0,0 +1,6 @@
+#include "stdio.h"
+void main (void) {
+       int i;
+       i=15;
+       printf("\n%d\n",i<<4);
+}
diff --git a/test1.tcl b/test1.tcl
new file mode 100755 (executable)
index 0000000..853c9f9
--- /dev/null
+++ b/test1.tcl
@@ -0,0 +1,53 @@
+#! /usr/bin/wish -f
+
+set isufile [open ./fehlende_isu_kunden_sort_uniq r]
+set art [open ./vertragstypen.txt r]
+set out [open ./kadis2isu_isu_vertragstypen_filled_in.file w]
+set i 0
+set y 0
+
+while {[gets $isufile line]>=0} {
+       lappend isu $line
+}
+
+while {[gets $art l]>=0} {
+       lappend artfile $art
+}
+close $isufile
+close $art
+foreach line [lrange $isu 0 end] {
+       set isulist [split ${line} ";"]
+       set kaeisufile [lindex $isulist 7]
+       set insert 0
+       set vart unknown
+       for {set I 0} {$I<[llength $artfile]} {incr I} {
+               set l [lindex $artfile $I]
+               set kart [split ${l} " "]
+               set kae [lindex $kart 0]
+               set typ [lindex $kart 1]
+               regsub "/" $kae "" kae
+               regsub "^0" $kae "" kae
+               
+               if { $kaeisufile == $kae } {
+                       set vart ""
+                       incr y
+                       if { "$typ" == "NETZ" } {
+                               set vart 5020
+                       } else {
+                               set vart unknown
+                         }
+                       puts $out "[lindex $isulist 0];[lindex $isulist 1];[lindex $isulist 2];[lindex $isulist 3];[lindex $isulist 4];[lindex $isulist 5];[lindex $isulist 6];[lindex $isulist 7];[lindex $isulist 8];[lindex $isulist 9];[lindex $isulist 10];$vart;[lindex $isulist 12]"
+                       set a1 [lrange $artfile 0 [expr ${I}-1]]
+                       set a2 [lrange $artfile 0 [expr ${I}+1]]
+                       set artfile [concat $a1 $a2]
+                       set insert 1
+                       break
+               }
+       }
+       if { $insert == 0 } {
+                       puts "$kaeisufile nicht in vertragstypen.txt"
+                       puts $out "[lindex $isulist 0];[lindex $isulist 1];[lindex $isulist 2];[lindex $isulist 3];[lindex $isulist 4];[lindex $isulist 5];[lindex $isulist 6];[lindex $isulist 7];[lindex $isulist 8];[lindex $isulist 9];[lindex $isulist 10];$vart;[lindex $isulist 12]"
+       }
+}
+flush $out
+close $out
diff --git a/testfile.txt b/testfile.txt
new file mode 100644 (file)
index 0000000..ad97e85
--- /dev/null
@@ -0,0 +1 @@
+^IP1_300^,^0726^,^3100^,^3100002^,^07263100310000200301653825^,^28184571^,^Herrn^,^^,^Wolfgang^,^Stumpf^,^^,^^,^Westheimer Str.^,^16^,^^,^97318^,^Kitzingen^,^Repperndorf^,^DE^,^200000533388^,^200000007973^,^97318004^,^^,^^,^^,^^,^^,^^,^97318^,^Kitzingen^,^Westheimer Str.^,^16^,^^,^79050000^,^42124107^,^Sparkasse Mainfranken Würzburg^,^WOLFGANG STUMPF^,^Herrn^,^Wolfgang Stumpf^,^Westheimer Str. 16^,^97318 Kitzingen^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^                  0^,^          0.0000000^,^ 151^,^0030165382^,^000000000000021356^,^0001059806^,^^,^LKW_3201^,^EJPP30_GRD^,^20090625^,^170506^,^LKWEBEL^,^E:\Kampagnen\Strompreisaktion^,^^,^00000000^
diff --git a/testp.sh b/testp.sh
new file mode 100755 (executable)
index 0000000..df43586
--- /dev/null
+++ b/testp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/sh
+sync
+date
+cp -ar /home/modarch/archiv /mnt
+sync
+date
diff --git a/testscanner.tcl b/testscanner.tcl
new file mode 100755 (executable)
index 0000000..515e671
--- /dev/null
@@ -0,0 +1,62 @@
+#!/usr/bin/wish
+package require BLT
+
+
+  set bgstat ""
+  set bgout ""
+  set bgerr ""
+
+set SANE_DEVICE ""
+set SANE_MODEL ""
+set SANE_MODEL ""
+set scancmd [join [list blt::bgexec bgstat -output bgout -error  bgerr\
+                          scanimage --formatted-device-list="%i@%d@%m@"]]
+if {![catch $scancmd catch_err]} {
+       set anz_scanner [regexp -all "\"" $bgout]
+       set anz_scanner [expr $anz_scanner /2]
+       if { $anz_scanner > 1 } {
+               for {set x 0} {$x < $anz_scanner} {incr x} {
+                       set SANE_NR_${x} ""
+                       set SANE_DEVICE_${x} ""
+                       set SANE_MODEL_${x} ""
+                       regexp "^\".@\(\[^@\]*\)@\(\[^@\]*\)@\"" $bgout SANE_NR_${x} SANE_DEVICE_${x} SANE_MODEL_${x}
+                       #eval set t SANE_DEVICE_${x}
+                       #eval puts $$t
+                       regsub {\"[^\"]*\"} $bgout "" bgout
+               }
+               toplevel .scannerwahl
+               wm protocol .scannerwahl WM_DELETE_WINDOW { }
+               wm transient .scannerwahl .
+               focus .scannerwahl
+               wm geometry .scannerwahl +10+10
+               frame .scannerwahl.scanner
+               set wahl 0
+               for {set x 0} {$x < $anz_scanner} {incr x} {
+                       set d SANE_DEVICE_${x}
+                       eval set d $$d
+                       set m SANE_MODEL_${x}
+                       eval set m $$m
+                       checkbutton .scannerwahl.scanner.$x -text $d -onvalue $x -variable wahl -command "set SANE_DEVICE $d;set SANE_MODEL $m" -anchor w
+                       pack .scannerwahl.scanner.$x -side top -fill x 
+               }
+               frame .scannerwahl.ok
+               button .scannerwahl.ok.ok -text "OK" -command "destroy .scannerwahl"
+               pack .scannerwahl.ok.ok
+               grid config .scannerwahl.scanner -row 0 -column 0 -columnspan 3 -sticky snew
+               grid config .scannerwahl.ok -row 1 -column 1 -columnspan 1 -sticky snew
+               tkwait window .scannerwahl
+               #TODO net schön, veruchen wenn libusb mit scanadf ansonsten mit scanimage
+               if { [regexp "libusb" $SANE_DEVICE] } {
+                       source [file join $pfad_bin va4_scannen_scanadf.tcl]
+               } else {
+                       source [file join $pfad_bin va4_scannen.tcl]
+                }
+       } else {
+               regexp "^\"0@\(\[^@\]*\)@\(\[^@\]*\)@\"" $bgout SANE_NR SANE_DEVICE SANE_MODEL
+               puts "SANE_NR=$SANE_NR SANE_DEVICE=$SANE_DEVICE SANE_MODEL=$SANE_MODEL"
+       }       
+} else {
+       puts mist
+}
+
+
diff --git a/tidy b/tidy
new file mode 100755 (executable)
index 0000000..f5b8fe7
Binary files /dev/null and b/tidy differ
diff --git a/tnef b/tnef
new file mode 100755 (executable)
index 0000000..da6dbff
Binary files /dev/null and b/tnef differ
diff --git a/tt.c b/tt.c
new file mode 100755 (executable)
index 0000000..8b40622
--- /dev/null
+++ b/tt.c
@@ -0,0 +1,12 @@
+#include "stdio.h"
+/*test*/
+/*ACHTUNG Speicher wird nicht wieder freigegeben!!!*/
+void main(void) {
+       while(1) {
+               void *i=NULL;
+               i=malloc(500);
+               printf("%x", &i);
+               if(i==NULL)
+                       break;
+       }
+}
diff --git a/usbreset b/usbreset
new file mode 100755 (executable)
index 0000000..85b994c
Binary files /dev/null and b/usbreset differ
diff --git a/usbreset.c b/usbreset.c
new file mode 100644 (file)
index 0000000..226eb9e
--- /dev/null
@@ -0,0 +1,39 @@
+/* usbreset -- send a USB port reset to a USB device */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+
+#include <linux/usbdevice_fs.h>
+
+
+int main(int argc, char **argv) {
+    const char *filename;
+    int fd;
+    int rc;
+
+    if (argc != 2) {
+        fprintf(stderr, "Usage: usbreset device-filename\n");
+        return 1;
+    }
+    filename = argv[1];
+
+    fd = open(filename, O_WRONLY);
+    if (fd < 0) {
+        perror("Error opening output file");
+        return 1;
+    }
+
+    printf("Resetting USB device %s\n", filename);
+    rc = ioctl(fd, USBDEVFS_RESET, 0);
+    if (rc < 0) {
+        perror("Error in ioctl");
+        return 1;
+    }
+    printf("Reset successful\n");
+
+    close(fd);
+    return 0;
+}
diff --git a/usbreset_64 b/usbreset_64
new file mode 100755 (executable)
index 0000000..37d5029
Binary files /dev/null and b/usbreset_64 differ
diff --git a/utils.tcl b/utils.tcl
new file mode 100644 (file)
index 0000000..1600d41
--- /dev/null
+++ b/utils.tcl
@@ -0,0 +1,26 @@
+proc split_csv {line} {
+       set csv_list {}
+       while {[string length $line] > 0} {
+               if [regexp "^\\^\[^^\]*\\^" $line ausdruck] {
+                       lappend csv_list [string range $ausdruck 1 end-1]
+                       set line [string range $line [expr [string length $ausdruck]+1] end]
+               } else {
+                       return $csv_list
+               }
+       }
+       return $csv_list
+}
+
+
+proc split_csv_line {line} {
+       set csv_list {}
+       while {[string length $line] > 0} {
+               if [regexp "^\\^\[^^\]*\\^" $line ausdruck] {
+                       lappend csv_list [string range $ausdruck 1 end-1]
+                       set line [string range $line [expr [string length $ausdruck]+1] end]
+               } else {
+                       return $csv_list
+               }
+       }
+       return $csv_list
+}
diff --git a/viaes b/viaes
new file mode 100644 (file)
index 0000000..ace9f83
--- /dev/null
+++ b/viaes
@@ -0,0 +1,45 @@
+#!/bin/sh
+umask 0002
+PATH=
+CAT="/bin/cat"
+MKTEMP="/bin/mktemp"
+AESPIPE="/usr/bin/aespipe"
+VI="/usr/bin/vi"
+CP="/bin/cp"
+SHRED="/usr/bin/shred"
+
+BINARIES="$CAT $MKTEMP $AESPIPE $VI $CP $SHRED"
+
+for x in $BINARIES; do
+   if [ ! -x ${x} ]; then
+      echo "Programm ${x} fehlt!"
+      exit 1
+   fi
+done 
+
+if [ -e /media/mgostick4a/oisafe.csv.aes ]; then
+   BASE=/media/mgostick4a
+elif [ -e /run/media/mario/mgostick4a/oisafe.csv.aes ]; then
+   BASE=/run/media/mario/mgostick4a
+elif [ -e /run/media/mgoppold/mgostick4a/oisafe.csv.aes ]; then
+   BASE=/run/media/mgoppold/mgostick4a
+fi
+
+TMPFILE=`$MKTEMP /tmp/tfile.XXXXXXXXXX`
+$CAT $BASE/oisafe.csv.aes | $AESPIPE -K ~/.ck.asc -d > $TMPFILE
+if [ -s $TMPFILE ]; then
+   $VI -n -b $TMPFILE
+   $CP --force $BASE/oisafe.csv.aes.4 $BASE/oisafe.csv.aes.5
+   $CP --force $BASE/oisafe.csv.aes.3 $BASE/oisafe.csv.aes.4
+   $CP --force $BASE/oisafe.csv.aes.2 $BASE/oisafe.csv.aes.3
+   $CP --force $BASE/oisafe.csv.aes.1 $BASE/oisafe.csv.aes.2
+   $CP --force $BASE/oisafe.csv.aes   $BASE/oisafe.csv.aes.1
+   $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > $BASE/oisafe.csv.aes
+   OK=$?
+   if [ $OK -ne 0 ]; then
+      $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > $BASE/oisafe.csv.aes
+   fi 
+   echo -n "Weiter mit <RETURN> "
+   read II
+   $SHRED --force --remove $TMPFILE
+fi
diff --git a/visscanneron b/visscanneron
new file mode 100755 (executable)
index 0000000..5dce06e
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+KEYFILE="/home/mhoellein/.ssh/scanneron.pub"
+
+hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten"
+hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07"
+hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05"
+hosts_swm="swm-scan01"
+hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01"
+hosts_evk="evk-scan01 evk-scan02"
+case $0 in
+       *egs*) hosts=$hosts_egs ;;
+       *esg*) hosts=$hosts_esg ;;
+       *ems*) hosts=$hosts_ems ;;
+       *swm*) hosts=$hosts_swm ;;
+       *vis*) hosts=$hosts_vis ;;
+       *evk*) hosts=$hosts_evk ;;
+esac
+
+case $0 in
+*egs*)  
+       for host in $hosts; do
+          echo -en "$host :\t "
+          ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null 
+          RET=$?
+          WANN=`ssh -i $KEYFILE  modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null
+          if [ $RET -eq 0  ]; then
+             echo -e "on\tlastupdate: ${WANN}"
+          else
+             echo -e "off\tlastupdate: ${WANN}"
+          fi
+       done 
+;;
+*esg*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*ems*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*swm*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh $KEYFILE  modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*vis*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+*evk*)
+       for host in $hosts; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null
+               RET=$?
+               if [ $RET -eq 0  ]; then
+                       echo -e "on"
+               else
+                       echo -e "off"
+               fi
+       done
+;;
+
+*guf*)
+       for host in guf-scan01 guf-scan02 ; do
+               echo -en "$host :\t "
+               ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null
+               RET=$?
+               WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/  */ /g" |cut -d " " -f 6-8`
+               if [ $RET -eq 0  ]; then
+                       echo -e "on\tlastupdate: ${WANN}"
+               else
+                       echo -e "off\tlastupdate: ${WANN}"
+               fi
+       done
+;;
+
+*)
+       echo "$0"
+       echo -e "unbekannter Aufruf"
+;;
+esac
diff --git a/vnc_scanrechner b/vnc_scanrechner
new file mode 100755 (executable)
index 0000000..1c8c655
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+host=""
+while [ -n "$1" ] ; do
+        case $1 in
+                *) host=$1 ; shift ;;
+        esac
+done
+
+if [ "${host}" == "" ]
+then
+        echo "Welchen Scanrechner?"
+        read host
+fi
+echo "danach in lokaler konsole vncviewer localhost"
+user=modscan
+if [ "${host}" = "scanhv4" ]
+then
+        user=kredscan
+fi
+echo "Passwort für user ${user} auf ${host}"
+ssh -i ~/.ssh/scanneron -XC -c blowfish -L 5900:localhost:5900 ${user}@${host}
diff --git a/weltraum.sh b/weltraum.sh
new file mode 100755 (executable)
index 0000000..094e7d7
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+pos=40
+width=80
+
+while true; do
+       read -t1 -s -n1 x
+       case "$x" in
+               g) pos=$(($pos -1));;
+               h) pos=$(($pos +1));;
+       esac
+       for ((i=0; i<$width; i++))
+       do
+               if [ $i -eq $pos ]; then
+                       echo -n 'V'
+               elif [ $(($RANDOM %9)) -eq 0 ]; then
+                       echo -n '*'
+               else
+                       echo -n ' '
+               fi
+       done
+       echo
+done
diff --git a/working.sh b/working.sh
new file mode 100755 (executable)
index 0000000..9340b07
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+USER="mhoellein"
+WGET="wget --no-proxy --no-check-certificate --quiet -O -"
+STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username='
+STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username='
+TIMEFILE="/localhome/mhoellein/privat/newTime.txt"
+
+createStartTimeForFile () {
+       startTime=`date "+%d.%m.%y%t%H.%M"`
+       echo -n $startTime >> $TIMEFILE
+}
+
+createStopTimeForFile () {
+       stopTime=`date +"-%H.%M"`
+       echo $stopTime >> $TIMEFILE
+}
+
+startWorking () {
+       ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1
+       createStartTimeForFile
+}
+
+stopWorking () {
+       ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1
+       createStopTimeForFile
+}
+
+case $0 in
+       *start*) startWorking ;;
+       *stop*) stopWorking ;;
+       *) echo "unbekannte Option..." ;;
+esac
diff --git a/xvnc_scanrechner b/xvnc_scanrechner
new file mode 100755 (executable)
index 0000000..04e8d9f
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+if [ $1 = "" ]; then
+       echo "Scanhost angeben!"
+       echo "xvnc_scanrechner scanhost"
+fi
+echo "Passwort für root auf $1 eingeben:"
+ssh -t -L 5900:localhost:5900 root@${1} "x11vnc -localhost -nolookup -nopw -display :0 -auth \$(ps axuww | egrep 'Xorg.*-auth' | grep -v egrep | sed -e 's#^.*-auth *##' | awk '{print \$1}')"
diff --git a/zahlen.c b/zahlen.c
new file mode 100644 (file)
index 0000000..4932677
--- /dev/null
+++ b/zahlen.c
@@ -0,0 +1,7 @@
+#include "stdio.h"
+int main (void) {
+       printf ("int=%d\n", sizeof(int));
+       printf ("double=%d\n", sizeof(double));
+       printf ("short=%d\n", sizeof(short));
+       printf ("char=%d\n", sizeof(char));
+}
diff --git a/zeige b/zeige
new file mode 100644 (file)
index 0000000..59bb7f9
--- /dev/null
+++ b/zeige
@@ -0,0 +1,10 @@
+#!/bin/bash
+if [ -e /media/mgostick4a/oisafe.csv.aes ]; then
+   cat /media/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1"
+elif [ -e /run/media/mario/mgostick4a/oisafe.csv.aes ]; then
+   cat /run/media/mario/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1"
+elif [ -e /run/media/mgoppold/mgostick4a/oisafe.csv.aes ]; then
+   cat /run/media/mgoppold/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1"
+elif [ -e /mnt/oisafe.csv.aes ]; then
+   cat /mnt/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1"
+fi