--- /dev/null
+#!/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
--- /dev/null
+#! /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)
+
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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"
+#}
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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!"
--- /dev/null
+#!/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
--- /dev/null
+#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;
+ }
+ }
+}
--- /dev/null
+#!/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";}'
--- /dev/null
+#!/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
--- /dev/null
+#!/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);
+}
--- /dev/null
+#!/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()
--- /dev/null
+#!/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);
+}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#/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
+
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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"
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#! /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
--- /dev/null
+#! /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
--- /dev/null
+#!/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
--- /dev/null
+#!/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}
--- /dev/null
+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"
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
+
--- /dev/null
+#!/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"
--- /dev/null
+#!/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]"
--- /dev/null
+#!/usr/bin/tclsh
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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()
+
--- /dev/null
+#!/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)
--- /dev/null
+#!/bin/sh
+REPVERS=`cvs status $1 | grep "Repository revision" | cut -d: -f2 | sed -e "s/[ ][ ]*/ /g" | cut -d" " -f2`
+cvs diff -r $REPVERS $1
--- /dev/null
+#!/bin/sh
+#cvs status |grep Status|sort -t":" +2
+
+cvs status 2>&1 | egrep "File|Examining" | grep -v "Status: Up-"
+echo "Editors:"
+cvs editors
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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}
--- /dev/null
+#!/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
--- /dev/null
+#!/bin/sh
+export LC_NUMERIC="C"
--- /dev/null
+#!/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 [ $? -
--- /dev/null
+#!/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
--- /dev/null
+#!/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);
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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}')"
--- /dev/null
+#!/usr/bin/perl -w
+
+open(INFILE,$ARGV[0]);
+
+while (<INFILE>) {
+ print $_;
+}
+close(INFILE);
--- /dev/null
+#!/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`"
--- /dev/null
+#!/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
--- /dev/null
+#/bin/bash
+host -l tbz-pariv.lan
+host -l modarch.lan
+host -l dmz.lan
+host -l home.lan
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
--- /dev/null
+#/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
--- /dev/null
+#/bin/sh
+/home/mhoellein/.display/dispwin -I /home/mhoellein/.display/lg.icc
--- /dev/null
+#!/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
+}
--- /dev/null
+#!/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
+ }
+}
--- /dev/null
+#!/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
+ }
+ }
+}
+
--- /dev/null
+#!/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
+ }
+ }
+}
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/bin/sh
+
+#
--- /dev/null
+#!/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
--- /dev/null
+#!/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> </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()
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+1,1,name,1,vsstrhnr,vsplzort,serial,bezansch,ak,11.11.1978,5300,lief,kae
--- /dev/null
+#!/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]"
+}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/bin/bash
+while [ 1 ]
+do
+ sleep 4
+done
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
+
--- /dev/null
+#!/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_
+
+
+
--- /dev/null
+#! /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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
--- /dev/null
+export LC_NUMERIC=C
+/home/mhoellein/eclipse/eclipse
--- /dev/null
+#!/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`"
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
--- /dev/null
+# 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
--- /dev/null
+#!/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
+}
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/bash
+
+test=hallo
+export test
+t3.sh
--- /dev/null
+#!/bin/bash
+
+echo $test
--- /dev/null
+#!/bin/bash
+thunderbird %u -d strace > /tmp/tb.log 2>&1
--- /dev/null
+#!/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
+}
+
--- /dev/null
+ #include "stdio.h"
+
+void main(void) {
+ char *message[] = {"Hello ", "World"};
+ int i;
+ for(i = 0; i = 1; ++i)
+ printf("%s", message[i]);
+ printf("\n");
+}
--- /dev/null
+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))
+}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#include "stdio.h"
+void main (void) {
+ int i;
+ i=15;
+ printf("\n%d\n",i<<4);
+}
--- /dev/null
+#! /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
--- /dev/null
+^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^
--- /dev/null
+#!/usr/bin/sh
+sync
+date
+cp -ar /home/modarch/archiv /mnt
+sync
+date
--- /dev/null
+#!/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
+}
+
+
--- /dev/null
+#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;
+ }
+}
--- /dev/null
+/* 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;
+}
--- /dev/null
+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
+}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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}
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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}')"
--- /dev/null
+#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));
+}
--- /dev/null
+#!/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