From: Mario Höllein Date: Wed, 31 Jul 2019 18:44:44 +0000 (+0200) Subject: initial X-Git-Url: https://git.hoellein.online/?a=commitdiff_plain;h=8ce347dbd4162330b4944b6ca98ac61cf352ed3c;p=zenbook_bin initial --- 8ce347dbd4162330b4944b6ca98ac61cf352ed3c diff --git a/Terminal de_DE@euro b/Terminal de_DE@euro new file mode 100755 index 0000000..8d397ad --- /dev/null +++ b/Terminal de_DE@euro @@ -0,0 +1,6 @@ +#!/bin/sh +export GDM_LANG="de_DE@euro" +export LANG="de_DE@euro" +export RC_LANG="de_DE@euro" +export LC_ALL="de_DE@euro" +gnome-terminal --disable-factory diff --git a/TessProcess.jar b/TessProcess.jar new file mode 100644 index 0000000..c31b2ec Binary files /dev/null and b/TessProcess.jar differ diff --git a/array.tcl b/array.tcl new file mode 100755 index 0000000..a96a0c8 --- /dev/null +++ b/array.tcl @@ -0,0 +1,9 @@ +#! /usr/bin/wish -f + +array set ordner { name ordner1 longname "ordner eins" +name ordner2 longname "ordner zwei" ja +ordner3 "ordner drei" ja} + +puts $ordner(ordner1) + + diff --git a/arraysort.sh b/arraysort.sh new file mode 100755 index 0000000..a99b2fb --- /dev/null +++ b/arraysort.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +v[1]=UNKLAR +v[2]=UNKLAR +#v[3]=EVK_T1 +anzahl=2 + +erg=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq` +ergzahl=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq |wc -l` +echo $erg +echo $ergzahl + +if [ $ergzahl -gt 2 ]; then + echo "UNKLAR" +else + vertrag="" + for v in $erg + do + if [ "${v}" != "UNKLAR" ] + then + if [ "$vertrag" = "" -o "$vertrag" = "$v" ]; then + vertrag=$v + else + vertrag=UNKLAR + fi + fi + done + if [ "$vertrag" = "" ]; then vertrag=UNKLAR; fi + echo $vertrag +fi diff --git a/arraytest.tcl b/arraytest.tcl new file mode 100755 index 0000000..73f67b9 --- /dev/null +++ b/arraytest.tcl @@ -0,0 +1,26 @@ +#!/usr/bin/wish +set n "" +set w "" +array set old "nr1 1" +array set old "nr2 2" +array set old "nr3 3" +array set old "nr4 4" + +array set new "nr5 5" +array set new "nr6 6" +array set new "nr7 7" +array set new "nr8 8" + + +puts $new(nr5) +#puts "first" +#foreach {n w} [array get old] { +# puts "$n $w" +#} +# +#puts "second" +#foreach {NAME WERT} {n w} [array get old] [array get new] { +# puts "old $NAME $WERT" +# puts "$n $w" +#} + diff --git a/backup_history.sh b/backup_history.sh new file mode 100755 index 0000000..3e9a1e4 --- /dev/null +++ b/backup_history.sh @@ -0,0 +1,22 @@ +#!/bin/bash +#set -x +KEEP=all +BASH_HIST=~/.bash_history +BACKUP=$BASH_HIST.$(date +%H%M%S%d%m%y) + +if [ -s "$BASH_HIST" -a "$BASH_HIST" -nt "$BACKUP" ]; then + # history file is newer then backup + if [[ -f $BACKUP ]]; then + # there is already a backup + cp -f $BASH_HIST $BACKUP + else + # create new backup, leave last few commands and reinitialize + mv -f $BASH_HIST $BACKUP + if [ "${KEEP}" = "all" ]; then + cat $BACKUP > $BASH_HIST + else + tail -n$KEEP $BACKUP > $BASH_HIST + fi + history -r + fi +fi diff --git a/backupdiff b/backupdiff new file mode 100755 index 0000000..502b3b1 --- /dev/null +++ b/backupdiff @@ -0,0 +1,107 @@ +#!/bin/sh + +aufruf() { + echo "Aufruf: backupdiff MD5-DATEI DIFF-DATEI [SEKUNDEN]" + echo "MD5-DATEI: Zu vergleichende MD5-Datei" + echo "DIFF-DATEI: Beinhaltet die Ergebnisse der Vergleiche" + echo "SEKUNDEN: Anzahl der Sekunden zw. den Aktualisierungen" +} + + +if [ -z $1 ]; then + if [ -z $2 ]; then + aufruf + exit + else + aufruf + exit + fi +else + if [ -z $2 ]; then + aufruf + exit + fi +fi + + +DIFFDATEI=$2 +MD5DATEI=$1 +if [ -z $3 ]; then + WARTEN=2 +else + WARTEN=$3 +fi + +#MD5DATEI=${BACKUPDVD}MD5 +#MD5DATEI=${BACKUPDVD} +BACKUPDVD=`dirname $MD5DATEI`/ + +#echo "BACKUPDVD = $BACKUPDVD" +#echo "DIFFDATEI = $DIFFDATEI" +#echo "MD5DATEI = $MD5DATEI" + + +if [ ! -e $MD5DATEI ]; then + echo "MD5-Datei $MD5DATEI nicht gefunden!" + exit +else + if [ -d $MD5DATEI ]; then + echo "$MD5DATEI ist ein Verzeichnis, keine MD5-Datei!" + exit + fi +fi + +if [ -e $DIFFDATEI ]; then + echo "DIFF-Datei $DIFFDATEI existiert bereits!" + exit +fi + + +echo "Lese MD5-Datei ein..." +FILESDVD=`wc -l $MD5DATEI | cut -d' ' -f1` +#echo $FILESDVD + +STARTZEIT=`date +%s` +echo "Beginne mit Vergleich..." +ALTESVZ=`pwd`/ +#echo $ALTESVZ +cd $BACKUPDVD +#pushd $BACKUPDVD +nohup md5sum --check MD5 > $DIFFDATEI & +#popd +cd $ALTESVZ + +PROZENT=0 + +export TRUE=1 + +touch $DIFFDATEI +WORKZEIT=1 +NOCHZEIT=1 +NOCHFILES=1000 + +while [ $TRUE -eq 1 ]; do + FILESMD5=`wc -l $DIFFDATEI | cut -d' ' -f1` + if [ $NOCHFILES -lt 1 ]; then + TRUE=0 + fi + if [ $FILESMD5 -eq 0 ]; then + FILESMD5=1 + fi + let PROZENT=($FILESMD5*100)/$FILESDVD + AKTUELLEZEIT=`date +%s` + let WORKZEIT=$AKTUELLEZEIT-$STARTZEIT + let GESAMTZEIT=($WORKZEIT*$FILESDVD)/$FILESMD5 + let NOCHFILES=$FILESDVD-$FILESMD5 + let NOCHZEIT=($NOCHFILES*$GESAMTZEIT)/$FILESDVD + let NOCHZEIT=$NOCHZEIT/60 + let NOCHZEIT=$NOCHZEIT + echo -ne " Verbleibende Dateien: $NOCHFILES von $FILESDVD (${PROZENT}% erledigt)| Verbleibende Zeit: ca. $NOCHZEIT min \r" + sleep $WARTEN +done + +cat $DIFFDATEI | grep -v Ok > ${DIFFDATEI}.error +ERROR=`wc -l ${DIFFDATEI}.error | cut -d' ' -f1` +echo "" +echo "" +echo "$ERROR von $FILESDVD fehlerhaft!" diff --git a/berichtige5550017.sh b/berichtige5550017.sh new file mode 100755 index 0000000..3add0a0 --- /dev/null +++ b/berichtige5550017.sh @@ -0,0 +1,108 @@ +#!/bin/bash + +CSV_FILE="/tmp/AUSWERTUNG.csv" +PWD="/home/mhoellein/Aktionen/Stadtwerke_Glauchau/2016/01/04/unterschrift_fehlt" +LOGFILE=/tmp/`basename $0`_$$.log +NEWDATDIR=/tmp/newdat + + +array Z +array data +array DATFILE +reuse() { + IFS=$(echo -en "\n\b") + Z[1]=`grep S0001 $1` + DATFILE=(${DATFILE[@]} ${Z[1]}) + Z[2]=`grep TAR_MD5SUM $1` + Z[3]=`grep S0002 $1` + Z[4]=`grep S0005 $1` + Z[5]=`grep S0098 $1` + Z[6]=`grep S9000 $1` + Z[7]=`grep MW_ID $1` + Z[8]=`grep ERFASSUNG_BENUTZER $1` + Z[9]=`grep ERFASSUNG_DATUM $1` + Z[10]=`grep BUCHK $1` + Z[11]=`grep CSV_RETURN_VALUE $1` + Z[12]=`grep ERFASSUNG_HOST $1` + Z[13]=`grep OCR_CODE $1` + PIC=($(grep PIC $1)) + Z[14]=`grep STATUS $1` + length=`echo "${#PIC[@]}"` + length=`expr $length - 1` +} + +writeNewDat() { + for i in `seq 0 ${#DATFILE[@]}` + do + echo ${DATFILE[$i]} | tee -a $LOGFILE >> ${NEWDATDIR}/`echo ${Z[6]} |sed -e "s/S9000 //"`.dat + done +} +variableDaten() { + DATFILE=(${DATFILE[@]} "${Z[2]}") + DATFILE=(${DATFILE[@]} "${Z[3]}") + DATFILE=(${DATFILE[@]} "${Z[4]}") + DATFILE=(${DATFILE[@]} "${Z[5]}") + DATFILE=(${DATFILE[@]} ${Z[6]}) + DATFILE=(${DATFILE[@]} ${Z[7]}) + DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f1 |sed -e s/^0*//`") + DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f2 |sed -e s/^0*//`") + DATFILE=(${DATFILE[@]} "ISUNR `echo $1 |cut -d',' -f3 |sed -e s/^0*//`") + DATFILE=(${DATFILE[@]} "ADRESSE_NAME `echo $1 |cut -d',' -f4` `echo $1 |cut -d',' -f5`") + DATFILE=(${DATFILE[@]} "KUNDE_ANLAGE_STRASSE `echo $1 |cut -d',' -f6` `echo $1 |cut -d',' -f7` `echo $1 |cut -d',' -f8`") + DATFILE=(${DATFILE[@]} "KUNDE_ANLAGE_ORT `echo $1 |cut -d',' -f9` `echo $1 |cut -d',' -f10`") + DATFILE=(${DATFILE[@]} ${Z[8]}) + DATFILE=(${DATFILE[@]} ${Z[9]}) + DATFILE=(${DATFILE[@]} ${Z[10]}) + DATFILE=(${DATFILE[@]} ${Z[11]}) + DATFILE=(${DATFILE[@]} ${Z[12]}) + DATFILE=(${DATFILE[@]} ${Z[13]}) + DATFILE=(${DATFILE[@]} ${Z[14]}) + for i in `seq 0 ${#PIC[@]}` + do + DATFILE=(${DATFILE[@]} ${PIC[$i]}) + done + DATFILE=(${DATFILE[@]} "S9995") +} + +#endData() { +# for i in `seq 0 ${#PIC[@]}` +# do +# DATFILE=(${DATFILE[@]} ${PIC[$i]}) +# done +# DATFILE=(${DATFILE[@]} "S9995") +#} + +doDataInArray() { + data=($(grep `echo ${Z[13]} |cut -d" " -f2|sed -e 's+/\([0-9]\)$+/0\1+'` $CSV_FILE)) + length=`echo "${#data[@]}"` + length=`expr $length - 1` + for i in `seq 0 $length`; + do + csvdata=`echo ${data[$i]} |csvread -c '^' -d ','|csvcut -n 7,78,80,10,11,14,15,16,17,18 | csvwrite -d ',' -q 'QUOTE_NONE'` + variableDaten $csvdata + done +# endData +} + +createNewDatFile() { + unset DATFILE + unset Z + unset data + echo "erzeuge neues dat-file $i" | tee $LOGFILE + reuse $i + doDataInArray + writeNewDat + echo "$i - done" |tee $LOGFILE +} + +for i in `cat /tmp/GSW_AMA_DATfiles.txt` +do + unset Z + unset data + if [ ! -z "`grep '^OCR_CODE 5550017' $i`" ]; then + createNewDatFile $i + else + echo $i nicht aus Aktion |tee $LOGFILE + fi + +done diff --git a/bitshift.c b/bitshift.c new file mode 100644 index 0000000..c8470ac --- /dev/null +++ b/bitshift.c @@ -0,0 +1,39 @@ +#include "stdio.h" +#include "math.h" +#include "limits.h" +void shift(); +void division(); + +int t0=0; +int t1=0; +int t2=0; +int i1=100000; +int i2=100000; +int imax=1000000; + +void main() { + shift(); + //division(); +} + +void division() { + i1=imax; + while (i1!=1) { + i1--; + i2=INT_MAX; + while (i2!=1) { + i2 = i2/2; + } + } +} + +void shift() { + i1=imax; + while (i1!=1) { + i1--; + i2=INT_MAX; + while (i2!=1) { + i2 = i2>>1; + } + } +} diff --git a/calc b/calc new file mode 100755 index 0000000..efac475 --- /dev/null +++ b/calc @@ -0,0 +1,135 @@ +#!/usr/bin/perl +use Date::Calendar::Profiles qw( $Profiles ); +use Date::Calendar; +use Date::Calc qw(:all); +use Data::Dumper; + +Language (Decode_Language("Deutsch")); +$calendar_DE_SN=Date::Calendar->new( $Profiles->{'DE-SN'} ); + + +if ( !open( TIMEFILE, "/localhome/mhoellein/privat/time" ) ) { + print "Can't open TIMEFILE.\n"; + exit 1; +} + +sub getdmy { + return(split(/\./,shift(@_))); +} + +sub getmin { + my($h,$m)=split(/:/,shift(@_)); + return($h*60+$m); +} +sub gethm { + my $min=shift(@_); + my $sign=1; + $sign=$min/abs($min) if ($min != 0); + $min=abs($min); + $h=int($min/60); + $m=$min-($h*60); + if ($sign < 0) { + $result = sprintf("-%02d:%02d", $h, $m); + } else { + $result = sprintf(" %02d:%02d", $h, $m); + } + return($result); +} + +$tagsolltmpl=468; # Tagessoll +my %timetable; + +while( $line = ) { + if ( "$line" !~ m/^[0-9][0-9]\.[0-9][0-9]\.20[0-9][0-9]/ ) { + print $line; + next; + } + chomp($line); + ($tag,$wtag,$von,$notused,$bis,$rest)=split(/ /,$line,6); + if ($von) { + my %h=( tag=>"$tag", von=>"$von", bis=>"$bis", bemerkung=>"$rest" ); + my ($day,$month,$year)=getdmy($tag); + push @{$timetable{Day_of_Year($year,$month,$day)}}, \%h; + } + else{ + print STDERR "Zeile ".$.." wird wegen unvollständiger Daten ignoriert Line=\"".$line."\"\n" + } +} +close TIMEFILE; + +#print Dumper(%timetable); +#exit 0; + +($day,$month,$year)=getdmy($timetable{1}[0]->{'tag'}); +#($day,$month,$year)=(31,12,2013); + +$year_DE_SN = $calendar_DE_SN->year( $year ); +#printf STDERR "D %d M %d Y %d Week %d\n",$day,$month,$year,$lastweek; +$weeksum=0; +$overtime=0; +$wsoll=0; +# +##foreach $n (sort {$a <=> $b} keys %timetable) { nur die im Hash enthaltenen +$day_of_year = (localtime(time()))[7]; +#$day_of_year = 366; +#$day_of_year = 365; +for ($n=1; $n<=$day_of_year; $n++) { + my ($year,$month,$day) = Add_Delta_Days($year,1,1,$n-1); + my $dow=Day_of_Week($year,$month,$day); + my $dayname=Day_of_Week_to_Text($dow); + my $flag="W"; + + if ($year_DE_SN->is_full($year,$month,$day) || $dow==6 || $dow==7 ) { + if ($dow==6 || $dow==7) { + $flag=" "; + } + else { + $flag="F"; + } + } + else { + $wsoll+=$tagsolltmpl; + } + + if (defined $timetable{$n}[0]) { + foreach $we (@{$timetable{$n}}) { + my $v=$we->{'von'}; + my $b=$we->{'bis'}; + my $note=$we->{'bemerkung'}; + my $von=getmin($v); + my $bis=getmin($b); + printf "%.2d.%.2d.%4d %2s %1s ",$day,$month,$year,substr($dayname,0,2),$flag; + if ($v~~/^[KUB]/){ + $wsoll-=$tagsolltmpl; # Krankheits- und Urlaubstage und Betriebsruhe vom Wochensoll abziehen + printf "%-17s",$v; + $von=0; $bis=0; + } + else { + printf "%5s %5s %5s ",$v,$b,gethm($bis-$von); + } + printf "\t\t\t\t%s",$note if ($note); + $weeksum+=$bis-$von; + print "\n"; + } + } + else { + printf "%.2d.%.2d.%4d %2s %1s ",$day,$month,$year,substr($dayname,0,2),$flag; + print " "; + print "\n"; + } + + if ($dow==7 || $n==$day_of_year) { + $overtime+=$weeksum-$wsoll; + ($week,$notused) = Week_of_Year($year,$month,$day); + printf " Summe %2d. Woche : ", $week; + printf "%5s %5s %6s %6s\n\n",gethm($weeksum),gethm($wsoll),gethm($weeksum-$wsoll),gethm($overtime); + $weeksum=0; + $wsoll=0; + } +} + +exit 0; + +print Dumper(%timetable); + +# perl -e 'use Date::Calc qw(:all); Language (Decode_Language("Deutsch")); $year = (localtime(time()))[5];$year+=1900; for ($n=1; $n<=(localtime(time()))[7]; $n++) {($year,$month,$day) = Add_Delta_Days($year,1,1,$n-1); $dow=Day_of_Week($year,$month,$day);$dayname=Day_of_Week_to_Text($dow);printf "%.2d.%.2d.%4d %2s %1s\n",$day,$month,$year,substr($dayname,0,2),"K";}' diff --git a/catdat b/catdat new file mode 100755 index 0000000..b71aedc --- /dev/null +++ b/catdat @@ -0,0 +1,50 @@ +#!/bin/sh +MAXVAR=0 +COLOR=0 +FILES="" + +usage() { + echo "$0 [-c] FILE(s)" + exit 1 +} + +[ -z "$1" ] && usage +while [ -n "$1" ] ; do + case $1 in + -c) COLOR=1 ; shift ;; + *) FILES="$FILES $1"; shift ;; + esac +done + + +if [ $COLOR -eq 1 ]; then + set -- $(stty size) # Groesse des Terminals besorgen + LINES=$1 + COLUMNS=$2 +fi + +for LINE in $(cat $FILES | pipefilt 1 | sed -e "s/\([^·]*\)·\([^·]*\)·/\1·\2\n/g"); do + VAR=${LINE%·*} + VALUE=${LINE#*·} + if [ ${#VAR} -gt $MAXVAR ]; then + MAXVAR=${#VAR} + fi +done + +let P=COLUMNS-MAXVAR-2 +AKTEBENE="-" +cat $FILES | pipefilt 1 | sed -e "s/\([^·]*\)·\([^·]*\)·/\1·\2\n/g" | while read LINE; do + VAR=${LINE%·*} + VALUE=${LINE#*·} + EBENE=$(echo $VAR | cut -d: -f2) + if [ "$EBENE" != "$AKTEBENE" ]; then + AKTEBENE=$EBENE + echo + fi + if [ $COLOR -eq 1 ]; then + echo -e "\\033[42m$VAR\\033[0m\\033[300C\\033[$[${P}]D$VALUE" + else + printf "%-${MAXVAR}s %s\n" "$VAR" "$VALUE" + fi +done +# echo COLUMNS $COLUMNS MAXVAR $MAXVAR P $P diff --git a/changeBackground.pl b/changeBackground.pl new file mode 100755 index 0000000..857c7e1 --- /dev/null +++ b/changeBackground.pl @@ -0,0 +1,69 @@ +#!/usr/bin/perl -w +use strict; +use warnings; +use Image::Magick; + +### Start CONFIG + +my $searchPath = '/home/mhoellein/.hintergrundbilder/'; +my $switchTime = 300; # time in seconds +my $maxDimensions = '1920x1080'; # What's the max size of the photo. + # They will be resized to this dimension + # if needed (lets two different sized + # pictures be placed side by side without funny blank space. + +### END CONFIG + +# bgotd-more -- background of the day (more) +# +# A pretty simple script which randomly picks a jpg/JPG/jpeg/JPEG photo to place as your +# Gnome desktop. If the photo is taller than it is wide, it finds another +# taller-than-wide photo and puts them side by side with Imagemagick +# +# Written by Michael Moore, Nov. 2007 +# This work is hereby placed in the public domain + + +my $photoa = ""; +my $photob = ""; +my @photos = `find $searchPath -type f | grep [jJ][pP][eE]*[gG]`; +chomp(@photos); + +while(1) +{ + $photoa = $photos[rand($#photos)]; + my $pa = new Image::Magick; + $pa->Read($photoa); + my ($ha,$wa) = $pa->Get('height','width'); + +# if($ha > $wa){ +# +# `cp "$photoa" /tmp/bgotda.jpg`; +# `mogrify -resize $maxDimensions /tmp/bgotda.jpg`; +# +# my $hb = 0; +# my $wb = 1; +# while($hb < $wb){ +# $photob = $photos[rand($#photos)]; +# my $pb = new Image::Magick; +# $pb->Read($photob); +# ($hb,$wb) = $pb->Get('height','width'); +# } +# +# `cp "$photob" /tmp/bgotdb.jpg`; +# `mogrify -resize $maxDimensions /tmp/bgotdb.jpg`; +# +# `convert /tmp/bgotda.jpg /tmp/bgotdb.jpg +append /tmp/bgotd.jpg`; +# } +# else +# { + `cp "$photoa" /tmp/bgotd.jpg`; +# } + + `mogrify -resize $maxDimensions /tmp/bgotd.jpg`; + + `cp /tmp/bgotd.jpg ~/.bgotd.jpg`; + `gconftool-2 --type string --set /desktop/gnome/background/picture_filename ~/.bgotd.jpg`; + + sleep($switchTime); +} diff --git a/changeBackground.py b/changeBackground.py new file mode 100755 index 0000000..d3b9108 --- /dev/null +++ b/changeBackground.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python + +import gconf +import os +import random +import time +from xml.dom.minidom import parse + +class GBackground: + + + def __init__ (self): + + self.backgroundsDB = '.gnome2/backgrounds.xml' + + self.__initGConfClient() + self.__initDOM() + + self.__files = [] + + def __initGConfClient (self): + self.__gclient = gconf.client_get_default() + + def __initDOM (self): + + db = os.path.join( os.environ['HOME'], self.backgroundsDB ) + + fh = open(db) + self.__dom = parse(fh) + fh.close() + + def loadBackgrounds (self): + + for wallpaper in self.__dom.getElementsByTagName('wallpaper'): + + if wallpaper.getAttribute('deleted') == 'true': + continue + + filename = wallpaper.getElementsByTagName('filename')[0].firstChild.nodeValue + self.__files.append(filename) + + def setRandomBackground (self): + + rnd = random.randint(0, len(self.__files) - 1) + self.setBackground( self.__files[rnd] ) + + def getBackground (self): + return self.__gclient.get_string('/desktop/gnome/background/picture_filename') + + def setBackground (self, background): + self.__gclient.set_string ("/desktop/gnome/background/picture_filename", background) + + +def main (): + + gb = GBackground() + gb.loadBackgrounds() + + while (1): + gb.setRandomBackground() + time.sleep(10) + + +if __name__ == '__main__': + main() diff --git a/changeBackground_1.pl b/changeBackground_1.pl new file mode 100755 index 0000000..d3f6c63 --- /dev/null +++ b/changeBackground_1.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +use strict; +use warnings; + +my $searchPath = '~/.hintergrundbilder/'; # Set to the directory you want to have searched for photos +my $switchTime = 10; # Edit to the number of seconds between photo switches + +# bgotd-- background of the day +# Written by Michael Moore, Nov. 2007, placed in the public domain + +my @photos = `find $searchPath -type f | grep [jJ][pP][eE]*[gG]`; +chomp(@photos); +my $photo; + +while(1) +{ + $photo = $photos[rand($#photos)]; + `gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$photo"`; + sleep($switchTime); +} diff --git a/change_dat.sh b/change_dat.sh new file mode 100755 index 0000000..e87605d --- /dev/null +++ b/change_dat.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +while read daten +do +# echo daten=$daten + for i in `echo $daten|cut -d"@" -f1` + do +# echo "i=$i" +# file="" + file=`find -iname \*${i}\*\.dat` + echo "R9995">>$file +# echo "file=$file" +# nr=`echo $daten|cut -d"@" -f1` +# name=`echo $daten |cut -d"@" -f 2` +# adr=`echo $daten |cut -d"@" -f 3` +# ort=`echo $daten |cut -d"@" -f 4` +# newnum=`echo $daten |cut -d"@" -f 5` +# echo "newnum=newnum" +# if [ "${file}" != "" ] +# then +# dir=`dirname ${file}` +# echo "dir=$dir" +# mv ${file} ${file}.save +# echo "R0001 VERSION1kis" >> ${file} +# echo "R0002 modscan_vocr_07110501" >> ${file} +# echo "R0005 VERTRAG" >> ${file} +# echo "R0120 ${name}" >> ${file} +# echo "R0130 ${adr}" >> ${file} +# echo "R0140 ${ort}" >> ${file} +# echo `cat ${file}.save |grep R0300` >> ${file} +# echo `cat ${file}.save |grep R0540` >> ${file} +# echo `cat ${file}.save |grep R0550` >> ${file} +# echo `cat ${file}.save |grep R0800` >> ${file} +# echo `cat ${file}.save |grep R0801` >> ${file} +# echo `cat ${file}.save |grep R0802` >> ${file} +# echo `cat ${file}.save |grep R9000` >> ${file} +# echo "R9995" >> ${file} +# fi + done +done < ~/daten_lkw.csv diff --git a/checkArchivDirForFiles.sh b/checkArchivDirForFiles.sh new file mode 100755 index 0000000..444a3a7 --- /dev/null +++ b/checkArchivDirForFiles.sh @@ -0,0 +1,40 @@ +#!/bin/bash +export LANG=de_DE.UTF-8 +HOMES_TO_CHECK=`ls /home/ |grep -v mhoellein|grep -v mreinwardt|grep -v ngeorgi|grep -v modscan` +FIND=`which find` +LS=`which ls` +WC=`which wc` +MAIL_TO=mhoellein@tbz-pariv.lan +MAIL_FROM=mhoellein@tbz-pariv.lan + + +sendMail() { + # $1 DIR - gsw + # $2 aktdir - /home/gsw/archiv + # $3 ANZ - 2 + # $4 MAILTEXT - Es ist ein Fehler aufgetreten + if [ "$4" = "" ]; then + mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein' -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' -s "env äöüß iso" -s "modscan_ama $1 --FEHLER--" $MAIL_TO + fi +# echo "meine echo ausgabe: $4" +} + +for DIR in $HOMES_TO_CHECK +do + aktdir="/home/$DIR/archiv/" + ANZ=-1 + MAILTEXT="" + if [ -d $aktdir ];then + if [ -r $aktdir ]; then + ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_\*.dat |$WC -l` + if [ $ANZ -gt 0 ]; then + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" + fi + else + MAILTEXT="Verzeichnis $aktdir ist nicht lesbar." + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" + fi + fi +done diff --git a/checkArchivDirForFiles_aktionEVK.sh b/checkArchivDirForFiles_aktionEVK.sh new file mode 100755 index 0000000..41ac41b --- /dev/null +++ b/checkArchivDirForFiles_aktionEVK.sh @@ -0,0 +1,44 @@ +#!/bin/bash +export LANG=de_DE.UTF-8 +HOMES_TO_CHECK="evk" +FIND=`which find` +LS=`which ls` +WC=`which wc` +MAIL_TO="mhoellein@tbz-pariv.lan skaule@tbz-pariv.lan skraemer@tbz-pariv.lan awade@tbz-pariv.lan" +#MAIL_TO="mhoellein@tbz-pariv.lan" +MAIL_FROM=mhoellein@tbz-pariv.lan + + +sendMail() { + # $1 DIR - gsw + # $2 aktdir - /home/gsw/archiv + # $3 ANZ - 2 + # $4 MAILTEXT - Es ist ein Fehler aufgetreten + # $5 MAIL_TO + echo $4 | mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein' -s "env äöüß iso" -s "modscan $1 Aktion - Anzahl Dateien: $3" $5 +# echo "meine echo ausgabe: $4" +} + +for DIR in $HOMES_TO_CHECK +do + aktdir="/home/$DIR/incomming/Aktion_062017/" + ANZ=-1 + MAILTEXT="Es befinden sich neuen Dateien im Eingang!" + if [ -d $aktdir ];then + if [ -r $aktdir ]; then + ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_ablesekarten\*.png |$WC -l` + if [ $ANZ -gt 0 ]; then + for i in $MAIL_TO + do + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" $i + done + fi + else + MAILTEXT="Verzeichnis $aktdir ist nicht lesbar." + for i in $MAIL_TO + do + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" $i + done + fi + fi +done diff --git a/checkArchivDirForFiles_modscan.sh b/checkArchivDirForFiles_modscan.sh new file mode 100755 index 0000000..7057a70 --- /dev/null +++ b/checkArchivDirForFiles_modscan.sh @@ -0,0 +1,44 @@ +#!/bin/bash +export LANG=de_DE.UTF-8 +HOMES_TO_CHECK=`ls /home/ |grep -v mhoellein|grep -v mreinwardt|grep -v ngeorgi|grep -v modscan` +FIND=`which find` +LS=`which ls` +WC=`which wc` +MAIL_TO=mhoellein@tbz-pariv.lan +MAIL_FROM=modscan@tbz-pariv.lan + + +sendMail() { + # $1 DIR - gsw + # $2 aktdir - /home/gsw/archiv + # $3 ANZ - 2 + # $4 MAILTEXT - Es ist ein Fehler aufgetreten + if [ "$4" = "" ]; then + for m in $MAIL_TO; do + mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from=${MAIL_FROM} -s "env äöüß iso" -s "modscan_ama $1 Anzahl Dateien: $3" $m < /dev/null + done + else + for m in $MAIL_TO; do + echo ${4} |mail -S sendcharsets=sendcharsets=utf-8 -S encoding=8bit -S from=$MAIL_FROM -s "env äöüß iso" -s "modscan_ama $1 --FEHLER--" $m + done + fi +# echo "meine echo ausgabe: $4" +} + +for DIR in $HOMES_TO_CHECK +do + aktdir="/home/$DIR/archiv/" + ANZ=-1 + MAILTEXT="" + if [ -d $aktdir ];then + if [ -r $aktdir ]; then + ANZ=`$FIND $aktdir -maxdepth 1 -type f -iname modscan_\*.dat |$WC -l` + if [ $ANZ -gt 0 ]; then + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" + fi + else + MAILTEXT="Verzeichnis $aktdir ist nicht lesbar." + sendMail "$DIR" "$aktdir" "$ANZ" "$MAILTEXT" + fi + fi +done diff --git a/checkBelegeModwork.sh b/checkBelegeModwork.sh new file mode 100755 index 0000000..382a595 --- /dev/null +++ b/checkBelegeModwork.sh @@ -0,0 +1,48 @@ +#/bin/bash + +FINDDIR='/home/mhoellein/kuddelmuddel/' +BASENAME='modscan_ama*.png.ocrnr' + +belegid_v="" +page_v="" +vk_v="" +pz_v="" +basename_v="" +basename_without_picnr_v="" + + +for d in `find ${FINDDIR} -iname ${BASENAME}|sort` +do + #erste + if [ "$belegid_v" == "" ]; then + belegid=`cat $d |cut -d" " -f 1|cut -d"=" -f2` + page=`cat $d |cut -d" " -f 2|cut -d"=" -f2` + vk=`cat $d |cut -d" " -f 3|cut -d"=" -f2` + pz=`cat $d |cut -d" " -f 4|cut -d"=" -f2` + basename=`basename $d .png.ocrnr` + basename_without_picnr=`echo $basename |sed -e "s/..$//"` + + belegid_v=${belegid} + page_v=${page} + vk_v=${vk} + pz_v=${pz} + basename_v=${basename} + basename_without_picnr_v=${basename_without_picnr} + + echo "belegid=$belegid" + echo "page=$page" + echo "vk=$vk" + echo "pz=$pz" + echo "basename=$basename" + echo "basename_without_picnr=$basename_without_picnr" + else + #zweites oder weiteres + if [ "${basename_without_picnr_v}" == "${basename_without_picnr}" ]; then + if [ $vk -eq $vk_v ]; then + echo "${basename_without_picnr} is ok" + fi + fi + fi +done + + diff --git a/checkFilesImportedInWorkflow.sh b/checkFilesImportedInWorkflow.sh new file mode 100755 index 0000000..158fab4 --- /dev/null +++ b/checkFilesImportedInWorkflow.sh @@ -0,0 +1,22 @@ +#!/bin/bash +CHECKDIR=/home/mhoellein/gasuf_copied/ + +#while read line; +#do +# if [ -e $CHECKDIR/${line} ];then +# echo "ok ${line}" +# #mv /home/mhoellein/gasuf_checkfiles/$(basename $line .dat)* /home/mhoellein/gasuf_copied/ +# else +# echo "nok ${line}" +# fi +#done < ${CHECKDIR}/imported.txt + +#files in imported.txt +for f in `ls $CHECKDIR/*.dat` +do + FILE=`basename $f` + ERG=$(grep ${FILE} ${CHECKDIR}/imported.txt) + if [ "${ERG}" == "" ];then + echo $FILE + fi +done diff --git a/checkNumbersGasuf.sh b/checkNumbersGasuf.sh new file mode 100755 index 0000000..a67d4c9 --- /dev/null +++ b/checkNumbersGasuf.sh @@ -0,0 +1,36 @@ +#!/bin/bash + + +file2=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv +file1=/home/mhoellein/alle_isunummern_neuer_scan.txt + +if [ $# -eq 2 ]; then + file1=$1 + file2=$2 +fi +#file1=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv +#file2=/home/mhoellein/VK-Nummern_gasuf_excel_sorted.csv + +#file1=/home/mhoellein/VK-Nummern_gasuf_in_excel_nicht_in_MW.csv +#file2=/home/mhoellein/VK-Nummern_gasuf_in_MW_nicht_in_Execel.csv + + +#per hand verarbeitet vergleich zu gelieferter +#file1=/home/mhoellein/VK-Nummern_gasuf_in_MW_sorted.csv +#file2=/home/mhoellein/gasuf_ohne_ocr_is-u_nummern_fertig.txt + +#file1=/home/mhoellein/VK-Nummern_gasuf_printed.csv + +miss=0 +while read line + do + #echo "Nummer wird bearbeitets: $line" + grep -i ${line} $file1 2>&1 > /dev/null + ret=$? + #echo $ret + if [ $ret -eq 1 ];then + echo $line + let miss=miss+1 + fi +done < $file2 +echo "anzahl fehlender Schreiben: $miss" diff --git a/check_fail_png.sh b/check_fail_png.sh new file mode 100755 index 0000000..49198ee --- /dev/null +++ b/check_fail_png.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +for tar in `ls ~/import-done/*ama*.tar` + do + #echo $tar + tar -xf $tar + for b in `ls *ama*.png` + do ret=0 + identify $b 2>/dev/null + ret=$? + if [ ${ret} -ne 0 ]; then + echo "$b fehlerhaft" + fi + done + rm -rf /tmp/png_failtest/*.png + rm -rf /tmp/png_failtest/*.tar +done diff --git a/checkfield b/checkfield new file mode 100755 index 0000000..0eccea8 Binary files /dev/null and b/checkfield differ diff --git a/checkinhalt b/checkinhalt new file mode 100755 index 0000000..1ae27b6 Binary files /dev/null and b/checkinhalt differ diff --git a/convertMenuFile.sh b/convertMenuFile.sh new file mode 100755 index 0000000..0d87b56 --- /dev/null +++ b/convertMenuFile.sh @@ -0,0 +1,12 @@ +#!/bin/bash +#prefix="EGS_VA::" +#prefix="GUF_VA::" +prefix=$2 +while read line ; do + #echo $line + vorn=`echo $line |awk '{split($0,a,":");print a[1]}'` + hinten=`echo $line |awk '{split($0,a,":");print a[2]}'` + hinten=$(echo $hinten | sed -e "s/{//" -e "s/}//") + hh=$(echo $hinten |sed -e "s/ /_/g" -e "s/ä/ae/g" -e "s/ö/oe/g" -e "s/ä/ae/g" -e "s/ü/ue/g" -e "s/ß/ss/g") + echo ${prefix}${hh}:${vorn}/${hinten} +done < $1 diff --git a/convertTar2Lineart.sh b/convertTar2Lineart.sh new file mode 100755 index 0000000..0fa0aab --- /dev/null +++ b/convertTar2Lineart.sh @@ -0,0 +1,22 @@ +#!/bin/bash +#DIR="/home/mhoellein/evk_to_copy/" +DIR=`pwd` +#echo "DIR=$DIR" +for t in `ls $DIR/*.tar` +do + mkdir /tmp/entpacken.$$ + pushd /tmp/entpacken.$$ + #echo "tar xf $t" + tar xf $t + for p in `ls *.png` + do + #pngtopnm $p | pgmenhance -5|pgmtopbm -threshold -value 0.6 |pnmtopng -background black > $(basename $p .png)_lineart.png + pngtopnm $p | convert -sharpen 2x2 +dither -posterize 3 -resize 70% - png:- |pngtopnm | pnmdepth 4 |pnmtopng > $(basename $p .png)_lineart.png + #convert -background black -monochrome $p $(basename $p .png)_lineart.png + mv $(basename $p .png)_lineart.png $p + done + tar cf test.tar *.png + mv test.tar ${t} + popd + rm -rf /tmp/entpacken.$$ +done diff --git a/convert_V2.tcl b/convert_V2.tcl new file mode 100755 index 0000000..c8bb435 --- /dev/null +++ b/convert_V2.tcl @@ -0,0 +1,33 @@ +#!/usr/bin/tclsh +if { ${argc} == 0 } { + puts "Datei angeben!" + exit +} +set filename [lindex $argv 0] +set basename [file rootname [file tail $filename]] + +set fd [ open $filename r] +set write [ open /tmp/${basename}_V3 w] +while {[gets ${fd} line] >=0} { + set a "" + set b "" + set c "" + set orig $line + regsub -all {\^,\^} $line "·" line + regsub -all {\^} $line "" line + set a [split ${line} {·}] + for {set x 0} { $x < 13} {incr x} { + regsub "^ *" [lindex $a $x] "" b + lappend c ${b} + } + for {set y 0} { $y < 13} {incr y} { + if { $y != 12 } { + puts -nonewline $write "^[lindex $c $y]^," + } else { + puts $write "^[lindex $c $y]^" + } + + } +} +close $fd +close $write diff --git a/convert_kadis2isu.tcl b/convert_kadis2isu.tcl new file mode 100755 index 0000000..3fe466b --- /dev/null +++ b/convert_kadis2isu.tcl @@ -0,0 +1,58 @@ +#! /usr/bin/wish -f + +#konvertiert den kadisabzug in isuformat +#isunummern werden 000000 gesetzt und die felder +#die nicht vorhanden sind leer + + +#file wo kae im format 0123/12345 drin steht und dann +#leerzeichen vertragstyp im format NETZ oder SV oder VA +#beispiel: +#0234/12345 NETZ +#0123/0123 SV +#0211/1020 VA +set vertragstypen_file [open ./vertragstypen.txt r] + +#file wo alle kadiskunden drin sind, die nicht im ISU-abzug sind +#format ist kadisformat, ohne leerzeichen und felder die nicht gebraucht werden +#beispiel: +#18374;Donauwörth;Ringingerstr. 1;98;0111;12079;3012;GOODWIN ANGELIKA;154;3012 +#18374;Donauwörth;Ringingerstr. 1;98;0111;19253;154;PIETSCH HANS;154;154 +#18301;Donauwörth;Nordstr. 34;101;0111;101;113;GEBHARDT JOHANN UND MARIA;93540;113 +#2952;Donauwörth;Industriestr. 11;169;0111;15933;184243;SERT AYLA;180;184243 +set kadis_kunden_n_i_ISU_file [open ./kadis_n_i_isu_list r] + +#outputfile, wo das fertige zeug hin soll +set out [open ./output.file w] + +while {[gets $kadis_kunden_n_i_ISU_file line]>=0} { + set kundenlist [split ${line} ";"] + #kae setzen + set kae "" + regsub "^0" [lindex ${kundenlist} 4] "" kae + append kae [lindex ${kundenlist} 5] + #typ rausfinden + set typ "" +# while {[gets $vertragstypen_file l]>=0} { +# set typliste [split ${l} " "] +# regsub "^0" [lindex ${typliste} 0] "" kae_typ +# regsub "/" ${kae_typ} "" kae_typ +# set type [lindex ${typliste} 1] +# if { ${kae_typ} == ${kae} } { +# if { "${type}" == "NETZ" } { +# set typ 5020 +# } +# } +# } + #schließen und neu öffnen, damit es wieder von vorn los geht +# close $vertragstypen_file +# set vertragstypen_file [open ./vertragstypen.txt r] + #isu;name;adresse;plz_ort;isu;isu;seriennummer;kae;anschlussobjekt;abrechnungsklasse;vertragsendedatum;buchungskreis;lieferant + set outputline "000000;[lindex ${kundenlist} 7];[lindex ${kundenlist} 2];[lindex ${kundenlist} 1];000000;000000;;${kae};;;;${typ};EGS-L" + puts $out ${outputline} + flush $out +} +flush $out +close $out +close $vertragstypen_file +close $kadis_kunden_n_i_ISU_file diff --git a/convert_kadis2isu_new.tcl b/convert_kadis2isu_new.tcl new file mode 100755 index 0000000..271f27c --- /dev/null +++ b/convert_kadis2isu_new.tcl @@ -0,0 +1,66 @@ +#! /usr/bin/wish -f + +if { $argc != 3 } { + puts "" + puts "usage: [file tail $argv0] kadisfile vertragstypenfile output" + puts "" + puts "kadisfile - Abzug von Kadis ohne die unötigen Leerzeichen" + puts "" + puts "vertragstypenfile - Format KAE TYP" + puts "Beispiel : 0131/1020 NETZ" + puts "" + puts "output - File wo der fertige ISUABZUG hin soll" + exit +} else { + set i 1 + foreach arg $::argv { + set argv${i} ${arg} + incr i + } + } + +set vertragstypen_file [open $argv2 r] +set kadis_kunden_n_i_ISU_file [open $argv1 r] +set out [open $argv3 w] + +while {[gets $kadis_kunden_n_i_ISU_file line]>=0} { + set kundenlist [split ${line} ";"] + #kae setzen + set kae "" + #regsub "^0" [lindex ${kundenlist} 4] "" kae + set kae [lindex ${kundenlist} 11] + append kae [lindex ${kundenlist} 12] + #typ rausfinden + set typ "" +# while {[gets $vertragstypen_file l]>=0} { +# set typliste [split ${l} " "] +# regsub "^0" [lindex ${typliste} 0] "" kae_typ +# regsub "/" ${kae_typ} "" kae_typ +# set type [lindex ${typliste} 1] +# if { ${kae_typ} == ${kae} } { +# if { "${type}" == "NETZ" } { +# set typ 5020 +# } +# } +# } + #schließen und neu öffnen, damit es wieder von vorn los geht +# close $vertragstypen_file +# set vertragstypen_file [open $argv2 r] + #isu;name;adresse;plz_ort;isu;isu;seriennummer;kae;anschlussobjekt;abrechnungsklasse;vertragsendedatum;buchungskreis;lieferant + if {[lindex ${kundenlist} 8] != ""} { + set hnr " [lindex ${kundenlist} 8]" + } + if {[lindex ${kundenlist} 9] != ""} { + set hnrz " [lindex ${kundenlist} 9]" + } else { + set hnrz "" + } + set outputline "000000;[lindex ${kundenlist} 14];[lindex ${kundenlist} 7]${hnr}${hnrz};[lindex ${kundenlist} 6];000000;000000;;${kae};;;;5000;EGS-L" + puts $out ${outputline} + flush $out +} +flush $out +close $out +close $vertragstypen_file +close $kadis_kunden_n_i_ISU_file +exit diff --git a/copyFilesToAllScanners.sh b/copyFilesToAllScanners.sh new file mode 100755 index 0000000..0cabc3d --- /dev/null +++ b/copyFilesToAllScanners.sh @@ -0,0 +1,28 @@ +#!/bin/bash +hosts_egs="scanhv1 scanhv2 scanhv3 scanhv4 scanhv5 scanhv6 scandonauw scangz scankempten" +archiv_egs=egs-archiv +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +archiv_esg=esg-archiv +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +archiv_ems=ems-archiv +hosts_swm="swm-scan01" +archiv_swm=swm-archiv +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +archiv_vis=vis-archiv +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs;ARCHIVSERVER=${archiv_egs};; + *esg*) hosts=$hosts_esg;ARCHIVSERVER=${archiv_esg};; + *ems*) hosts=$hosts_ems;ARCHIVSERVER=${archiv_ems};; + *swm*) hosts=$hosts_swm;ARCHIVSERVER=${archiv_swm};; + *vis*) hosts=$hosts_vis;ARCHIVSERVER=${archiv_vis};; + *evk*) hosts=$hosts_evk;ARCHIVSERVER=${archiv_vis};; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo $1 $2 + done +;; +esac diff --git a/copyLogfileToArchiv.sh b/copyLogfileToArchiv.sh new file mode 100755 index 0000000..24067cd --- /dev/null +++ b/copyLogfileToArchiv.sh @@ -0,0 +1,24 @@ +#!/bin/bash +ARCHIV_SERVER='' +ARCHIV_USER=modscan +LOG_DIR=~/log/ +DEST_DIR=update/log/$HOSTNAME + +case $HOSTNAME in + *[Ee][Gg][Ss]*) ARCHIV_SERVER=egs-archiv ;; + *[Gg][Uu][Ff]*) ARCHIV_SERVER=guf-archiv ;; + *[Ee][Vv][Kk]*) ARCHIV_SERVER=vis-archiv ;; + *[Ee][Ss][Mm]*) ARCHIV_SERVER=esm-archiv ;; + *[Ee][Vv][Gg]*) ARCHIV_SERVER=vis-archiv ;; + *[Ll][Kk][Ww]*) ARCHIV_SERVER=vis-archiv ;; + *[Ee][Rr][Ww]*) ARCHIV_SERVER=vis-archiv ;; + *[Vv][Ii][Ss]*) ARCHIV_SERVER=vis-archiv ;; + *[Ss][Ww][Kk]*) ARCHIV_SERVER=vis-archiv ;; + *[Ee][Mm][Ss]*) ARCHIV_SERVER=ems-archiv ;; + *[Ss][Hh][Oo]*) ARCHIV_SERVER=sho-archiv ;; + *[Gg][Ee][Ww]*) ARCHIV_SERVER=gew-archiv ;; + *[aA][pP][mM][hH][oO][eE][lL][lL][eE][iI][nN]*) ARCHIV_SERVER=apmhoellein ;; + *) ARCHIV_SERVER='' ;; +esac +[ -z $ARCHIV_SERVER ] && exit; +rsync -av ${LOG_DIR} ${ARCHIV_USER}@${ARCHIV_SERVER}:${DEST_DIR} diff --git a/copyModscanCIM.sh b/copyModscanCIM.sh new file mode 100644 index 0000000..fb76ba8 --- /dev/null +++ b/copyModscanCIM.sh @@ -0,0 +1,2 @@ +FILES_TO_COPY_BIN="mod_cim.tcl modscan_cim.tcl hmdialog.tcl mod_std.tcl kundenmappen.functions.tcl recherche.tcl scancmd_scanadf" +FILES_TO_COPY_ETC="LY_25x18_96.gif rotleft.gif rotright.gif contrast_hell.ppm contrast_dunkel.ppm pfeil.ppm bw.ppm gray.ppm contrast.ppm color.ppm barcode.tif" diff --git a/copyPicturesFromNextcloud.sh b/copyPicturesFromNextcloud.sh new file mode 100755 index 0000000..13d1624 --- /dev/null +++ b/copyPicturesFromNextcloud.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +PWD=`/bin/pwd` + +NEXTCLOUDUSER="mhoellein susi nelly" +NEXTCLOUDBASE="/localhome/nextcloud/data" + +SOFORTUPLOADBASE="files/SofortUpload/Camera" +YEAR=`date +%Y` + +for _NEXTCLOUDUSER in $NEXTCLOUDUSER +do + echo "rsync -av root@homeserver:$NEXTCLOUDBASE/$_NEXTCLOUDUSER/$SOFORTUPLOADBASE/$YEAR $PWD/" + rsync -av root@homeserver:$NEXTCLOUDBASE/$_NEXTCLOUDUSER/$SOFORTUPLOADBASE/$YEAR $PWD/ +done diff --git a/copyrpm2gray b/copyrpm2gray new file mode 100755 index 0000000..911a471 --- /dev/null +++ b/copyrpm2gray @@ -0,0 +1,26 @@ +#!/bin/bash +SCRIPTNAME=${0##*/} +case $SCRIPTNAME in + *test) EXTRA="-test";; + *) EXTRA="";; +esac + +# /localhome/tbz-pariv/suse/10.3/SRPMS/gutenprint-5.2.7-35.2.src.rpm +# /localhome/tbz-pariv/suse/10.3/x86_64/ghostscript-9.07-3.4.7.x86_64.openSUSE10.3.rpm +for r in $*; do + DST="" + for dist in openSUSE10.2 openSUSE10.3 openSUSE11.1 openSUSE11.2 openSUSE11.3 openSUSE11.4 openSUSE12.3 openSUSE13.1 openSUSE13.2 openSUSE42.1 openSUSE42.2 openSUSE42.3; do + for arch in noarch x86_64 i586; do + case $r in + *$arch.$dist*) DST=/localhome/user/tbz-pariv/suse/${dist:8}$EXTRA/$arch/; LASTDDIST=${dist:8}$EXTRA ;; + *src.rpm) if [ -n $LASTDDIST ]; then DST=/localhome/user/tbz-pariv/suse/$LASTDDIST/SRPMS; fi;; + esac + done + done + if [ -n "$DST" ]; then + echo "$r -> $USER@gray:$DST" + scp $r $USER@gray:$DST + else + echo "$r Kein Ziel gefunden" + fi +done diff --git a/createRFile.sh b/createRFile.sh new file mode 100755 index 0000000..c1854a2 --- /dev/null +++ b/createRFile.sh @@ -0,0 +1,52 @@ +#!/bin/sh +#IFS_O="$IFS" +#echo $IFS_O +#echo $1 +#echo "----------------------" +#export IFS=`read -d $'\0'` +#declare RESULT=($(grep $1 AUSWERTUNG.csv)) +#echo "First line: ${RESULT[0]}" +#echo "Second line: ${RESULT[1]}" +#export IFS= +#declare RESULT=($(grep --null $1 AUSWERTUNG.csv)) +#echo "First line: ${RESULT[0]}" +#(read junk a b junk < <(grep $1 AUSWERTUNG.csv|paste -s)) +#for i in `grep --null $1 AUSWERTUNG.csv` +#do +# echo $i +# echo "##########" +#done + #export IFS="$IFS_O" + + #wert=`echo $i|cut -d"/" -f2` + #firstpart=`echo $line |csvread -c '^'|csvcut -n 2:91|csvwrite -d ',' -c '^'` + #lastpart=`echo $line |csvread -c '^'|csvcut -n -5:0 |csvwrite -d ',' -c '^'` + #echo ${firstpart},^${wert}^,${lastpart} + + #echo $firstpart + #echo $lastpart + + #unset wert + #unset firstpart + #unset lastpart + #export IFS='\NUL' + +IFS=$(echo -en "\n\b") +foo=($(grep $1 AUSWERTUNG.csv)) +length=`echo "${#foo[@]}"` +length=`expr $length - 1` +if [ -z "${length}" -o ${length} -lt 0 ];then + echo "$1 - keine Daten - length == $length" >> keineDaten.txt +fi +for i in `seq 0 $length`; +do + line=`echo ${foo[$i]}` + wert=`echo ${foo[i]}|cut -d"/" -f2` + firstpart=`echo $line |csvread -c '^' -d ','|csvcut -n 2:91|csvwrite -d ',' -c '^'` + if [ -n "${firstpart}" ]; then + lastpart=`echo $line |csvread -c '^' -d ','|csvcut -n -5:0 |csvwrite -d ',' -c '^'` + echo ${firstpart},^${wert}^,${lastpart} + else + echo $line >> error.txt + fi +done diff --git a/createRFile_EGS_Herbstaktion.sh b/createRFile_EGS_Herbstaktion.sh new file mode 100755 index 0000000..c8b432a --- /dev/null +++ b/createRFile_EGS_Herbstaktion.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +#create csv file with following format +# CSV_RETURN_VALUE,^Lieferbeginn^,^SEPA-Unterschrift^,^Unterschrift^,^Werbung^,^Bonus^,^IPad^ + +PWD=`pwd` + +reset() { + export Belegart="^^" + export CSV_RETURN_VALUE="^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^" + export Lieferbeginn="^^" + export SEPAUnterschrift="^^" + export Unterschrift="^^" + export Werbung="^^" + export Bonus="^^" + export IPad="^^" +} + +workWithFile() { + #generate array with all things + line="" + while read line + do + variable=`echo $line|cut -d" " -f1` + value=`echo $line|cut -d" " -f2-` + #echo "$variable = $value" + case $variable in + S0005) + Belegart=^$value^ + ;; + CSV_RETURN_VALUE) + CSV_RETURN_VALUE=$value + ;; + Lieferbeginn) + Lieferbeginn=^$value^ + ;; + SEPA-Unterschrift) + SEPAUnterschrift=^$value^ + ;; + Unterschrift) + Unterschrift=^$value^ + ;; + Werbung) + Werbung=^$value^ + ;; + Bonus) + Bonus=^$value^ + ;; + IPad) + IPad=^$value^ + ;; + *) + esac + done<${1} + echo $CSV_RETURN_VALUE,$Belegart,$Lieferbeginn,$SEPAUnterschrift,$Unterschrift,$Werbung,$Bonus,$IPad + reset +} + + +main() { + reset + for f in `ls $PWD/*.dat` + do +# echo $f + workWithFile $f + done +} +main + + diff --git a/cryptdir b/cryptdir new file mode 100755 index 0000000..07cf355 --- /dev/null +++ b/cryptdir @@ -0,0 +1,63 @@ +#!/bin/sh +# \ +exec expect "$0" ${1+"$@"} +# Name: cryptdir +# Author: Don Libes, NIST +# +# Synopsis: +# cryptdir [dir] +# decryptdir [dir] +# +# Encrypt or decrypts the current directory or named directory if given. + +if {[llength $argv] > 0} { + cd $argv +} + +# encrypt or decrypt? +set decrypt [regexp "decrypt" $argv0] + +set timeout -1 +stty -echo +send "Password:" +expect -re "(.*)\n" +send "\n" +set passwd $expect_out(1,string) + +# Wouldn't want to encrypt/decrypt files with mistyped password! +send "Again:" +expect -re "(.*)\n" +send "\n" +if {![string match $passwd $expect_out(1,string)]} { + send_user "mistyped password?\n" + stty echo + exit +} +stty echo + +log_user 0 +foreach f [ glob * ] { + # strip shell metachars from filename to avoid problems + if {[regsub -all {[]['`~<>:-]} $f "" newf]} { + exec mv ${f} ${newf} + set f ${newf} + } + + set strcmp [string compare .crypt [file extension $f]] + if {$decrypt} { + # skip files that don't end with ".crypt" + if {0!=$strcmp} continue + spawn sh -c "exec crypt < $f > [file root $f]" + } else { + # skip files that already end with ".crypt" + if {0==$strcmp} continue + spawn sh -c "exec crypt < $f > $f.crypt" + } + expect "key:" + send "$passwd\r" + expect + wait + exec rm -f $f + send_tty "." +} +send_tty "\n" diff --git a/csv.tcl b/csv.tcl new file mode 100755 index 0000000..309ad41 --- /dev/null +++ b/csv.tcl @@ -0,0 +1,184 @@ +#!/usr/bin/tclsh + +proc usage {} { +} + +proc file_readable { file } { + return [file readable $file] +} + +proc open_file { file } { + if { [file_readable $file] } { return [ open $file r] } + return 0 +} + +proc get_spalten { fd sep } { + global header + gets $fd line + set fields [split ${line} ${sep}] + foreach i ${fields} { + regsub -all " *" ${i} "" i + lappend header $i + set spalten(${i}) "${i}" + } + array get spalten +} + +proc split_line { line } { + set sep ";" + set fields [split ${line} ${sep}] + foreach i ${fields} { + regsub -all " *" ${i} "" i + lappend lw ${i} + } + return $lw +} + +#not used +proc get_line {line arr} { + upvar $arr sp + +} + +proc write_newfile { fd data sep} { + set write_line "" + foreach i $data { + append write_line $i ${sep} + } + set write_line [string trimright ${write_line} ${sep}] + puts $fd $write_line +} + +proc show_line {arr} { + upvar $arr spalten + set w1 30 + set w2 60 + set sep +-[string repeat - $w1]-+-[string repeat - $w2]-+ + puts $sep + puts [format "| %-*s | %-*s |" $w1 "Index" $w2 "Wert"] + foreach index [array names spalten] { + puts [format "| %*s | %*s |" $w1 $index $w2 $spalten($index)] + } +} + +#OK +proc abfrage {} { + global header + set eingabe "" + puts "" + puts "" + puts "\t\tBitte die Position der einzelnen Spalten" + puts "\t\tin der zu erzeugenden csv Datei angeben." + puts "" + puts "\t\tSpaltenangaben beginnen bei 0 -> d.h. Spalte 0 ist die erste" + puts "\t\tnicht zu nutzende Spalten erhalten -1 oder nichts (ENTER)" + puts "" + puts "" + puts "\t\t----ACHTUNG ACHTUNG----" + puts "\t\tDie größte Zahl die genutzt wird, wird als cvs breite genutzt," + puts "\t\td.h. wenn 10, dann wird die csv Datei 9 Spalten breit," + puts "\t\tegal wieviele Spalten wirklich gewählt wurden!" + puts "\t\tBeispiel:" + puts "\t\t\tInhalt csv Datei:" + puts "\t\t\t\ts1;s2;s3;s4" + puts "" + puts "\t\t\tAuswahl durch Benutzer:" + puts "\t\t\t\ts1 -> Pos. 7, s2 -> Pos. 3, s3 -> Pos. 2, s4 -> Pos. 1" + puts "\t\t\tdaraus entsteht folgende csv Datei:" + puts "\t\t\t\ts4;s3;s2;;;;s1" + puts "" + puts "" + puts "so hier sind nun alle Spalten," + puts "die in der csv Datei vorhanden sind:" + puts "" + set w1 30 + set w2 30 + set w3 30 + set sep +-[string repeat - $w1]-+-[string repeat - $w2]-+-[string repeat - $w3]-+ + puts $sep + puts [format "| %-*s | %-*s | %-*s |" $w1 "Spaltenbezeichnung" $w2 "Spaltenbezeichnung" $w3 "Spaltenbezeichnung"] + for {set i 0} {$i < [llength $header]} {incr i 3} { + if { [expr $i + 1 ] < [llength $header] && [expr $i + 2 ] < [llength $header] } { + puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 \"[lindex $header [expr $i+1]]\" $w3 \"[lindex $header [expr $i+2]]\"] + } elseif {[expr $i + 1 ] < [llength $header] } { + puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 \"[lindex $header [expr $i+1]]\" $w3 ""] + } else { + puts [format "| %*s | %*s | %*s |" $w1 \"[lindex $header $i]\" $w2 "" $w3 ""] + } + } + puts $sep + puts "" + set output "" + puts "Jetzt bitte Ihre Auswahl treffen!" + + + foreach i $header { + puts stdout "Spalte \"${i}\" an welche Position?" + gets stdin eingabe + set eingabe [schonDrin $eingabe $output] + if { ${eingabe} == -1 || $eingabe == "" || [regexp "\[0-9\]\[0-9\]*" $eingabe] != 1} { +# puts "\nlasse Spalte $i weg" + } else { +# puts "\nSpalte $i kommt an Position $eingabe" + lappend output [list ${i} ${eingabe}] + } + set eingabe "" + } +# puts "abfrage - output=$output" + return $output +} + +proc schonDrin {eingabe output} { + foreach i $output { + if { [lindex $i 1] == $eingabe } { + puts "Spalte \"${eingabe}\" schon verwendet, neu Spaltennummer eingeben!" + gets stdin eingabe + schonDrin $eingabe $output + } + } + return $eingabe +} + +proc get_data_newline {arr liste} { + #arr - array mit den zeilendaten + #liste - liste mit ordnung des outputs + set line {} + upvar $arr spalten + set liste [lsort -integer -index 1 $liste] + set biggest [lindex [lindex $liste end] 1] + set y 0 + for {set x 0} {$x<$biggest} { incr x } { + if { [lindex [lindex $liste $y] 1] == [expr ${x}+1]} { + lappend line $spalten([lindex [lindex $liste $y] 0]) + incr y + } else { + lappend line {} + } + } + return $line +} + +proc main { file } { + global header + set newfile /home/mhoellein/test_gasuf.csv + set fd [open_file $file] + set newfd [open $newfile w] + set sep ";" + array set spalten [get_spalten $fd $sep] + set output_order [abfrage] + while {[gets ${fd} line] > -1} { + set splitline [split_line $line] + for {set i 0} { $i < [llength $splitline] } { incr i} { + set spalten([lindex $header $i]) "[lindex $splitline $i]" + } + write_newfile $newfd [get_data_newline spalten $output_order] ${sep} + } + close $fd + close $newfd +} +#usage +#gets stdin varname +main /home/mhoellein/gasuf_Gesamt_3200_3210_20111010_1.txt +#main /home/mhoellein/test.csv +#array set spalten [get_spalten [open_file /home/mhoellein/gasuf_Gesamt_3200_3210_20111010_1.txt]] +#puts "[array get spalten Partner]" diff --git a/csv2dat.tcl b/csv2dat.tcl new file mode 100644 index 0000000..bc38942 --- /dev/null +++ b/csv2dat.tcl @@ -0,0 +1,2 @@ +#!/usr/bin/tclsh + diff --git a/csvcut b/csvcut new file mode 100755 index 0000000..33a83a9 --- /dev/null +++ b/csvcut @@ -0,0 +1,111 @@ +#!/usr/bin/python +# -*- coding: iso-8859-1 -*- +from optparse import OptionParser +import sys +import re +import csv + +from signal import signal, SIGPIPE, SIG_DFL, SIGINT +signal( SIGPIPE, SIG_DFL ) +signal( SIGINT, SIG_DFL ) + +# Optionen der Kommandozeile verarbeiten +usage = '''> %prog [options] + + prints fields to stdout + example: + %prog -n ... + -n 1 # first field + -n 1,4 # first and fourth field + -n -1:0 # last two fields (0 is the last field) + -n 1,1,6:10 # field number 1 twice and then field number 6 to 10 + + %prog -f VKONT # field with head VKONT + + required input format: -d '\\t' -c '"' -q QUOTE_ALL + + full help with "%prog --help"''' + +parser = OptionParser(usage=usage) +parser.add_option("-n", "--fields", dest="fields", help="example: 0,2,10:20 (default: all)", action="store", default='') +parser.add_option("-f", "--heads", dest="heads", help="example: VKONT,AKTIONSNR,NAME1:NAME10 (default: all)", action="store", default='') + +(options, args) = parser.parse_args() + +class RDialect(csv.Dialect): + _name = "rdialect" + delimiter = "\t" #Trennzeichen + quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt + escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE" + doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert + skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren + lineterminator = '\n' + quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE" + +input_fd=sys.stdin + +field_list=[] +def set_fieldlist(fields): + global field_list + if fields: + for num in fields.split(","): + nums=num.split(':') + if len(nums) == 1: + try: + field_list.append(int(num)-1) + except: + sys.stderr.write('%s not a valid list of numbers\n' % fields) + sys.exit(1) + elif len(nums) == 2: + try: + n0=int(nums[0]) + n1=int(nums[1]) + except: + sys.stderr.write('%s not a valid range of numbers\n' % nums) + sys.exit(1) + for n in range(n0-1,n1): + field_list.append(n) + else: + sys.stderr.write('%s not a valid range of numbers\n' % nums) + sys.exit(1) + +def head_to_fieldlist(csvhead): + new_headlist=[] + split_colon= options.heads.split(':') + for i in range(0,len(split_colon)): + split_comma=split_colon[i].split(',') + for j in range(0, len(split_comma)): + try: + new_headlist.append(str(csvhead.index(split_comma[j])+1)) + except ValueError: + sys.stderr.write('head "%s" not in %s\n' % (split_comma[j], csvhead)) + sys.exit(1) + if j < len(split_comma)-1: + new_headlist.append(',') + if i < len(split_colon)-1: + new_headlist.append(':') + return ''.join(new_headlist) + +if options.fields: + set_fieldlist(options.fields) + +rdialect=RDialect() +reader=csv.reader(input_fd, dialect=rdialect) +writer=csv.writer(sys.stdout, dialect=rdialect) +rownumber=0 +for row in reader: + if rownumber==0 and options.heads: + set_fieldlist(head_to_fieldlist(row)) + + if field_list: + newrow=[] + for number in field_list: + try: + newrow.append(row[number]) + except: + sys.stderr.write('column number %d does not exist\n' % number) + sys.exit(1) + writer.writerow(newrow) + else: + writer.writerow(row) + rownumber+=1 diff --git a/csvread b/csvread new file mode 100755 index 0000000..1c91f28 --- /dev/null +++ b/csvread @@ -0,0 +1,220 @@ +#!/usr/bin/python +# -*- coding: iso-8859-1 -*- +from optparse import OptionParser +import sys +import re +import csv + +from signal import signal, SIGPIPE, SIG_DFL, SIGINT +signal( SIGPIPE, SIG_DFL ) +signal( SIGINT, SIG_DFL ) + +#http://groups.google.com/group/comp.lang.python/msg/3f30c55ceda9876b?hl=en +class ReaderWithPushback(object): + def __init__(self, fd): + self.fd = fd + self.held = '' + self.sawEOF = False + self.stop=False + + def read(self, length): + assert length > 0, length + while len(self.held) < length and not self.sawEOF: + chunk = self.fd.read(length - len(self.held)) + if chunk: + self.held += chunk + else: + self.sawEOF = True + if len(self.held) > length: + self.held, result = (self.held[length :], + self.held[: length]) + else: + self.held, result = '', self.held + if self.stop and not self.held: + self.read=self.fd.read + self.readline=self.fd.readline + self.__iter__=self.fd.__iter__ + return result + + def pushback(self, somestuff): + self.held = somestuff + self.held + + def peek(self, length=1): + data = self.read(length) + self.pushback(data) + return data + + def readline(self, char=None): + if char is None: + char='\n' + else: + assert len(char)==1, char + line=[] + while True: + c=self.read(1) + if not c: + # EOF + return ''.join(line) + line.append(c) + if c==char: + return ''.join(line) + def stop_peeking(self): + ''' + Alle Peeking was done, use real fd from now on. + ''' + self.stop=True + + def __iter__(self): + while True: + line=self.readline() + if not line: + break + yield line + +DELIMITER=None +QUOTECHAR=None +QUOTE=None + +QUOTE_CHOICES=["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"] + +def bash_quote(string): + if string == '\t': return "$'\\t'" + elif string == '"': return "'\"'" + elif string == "'": return '"\'"' + else: return '"%s"' % string + +def sniff(): + global FIRSTLINE, DELIMITER, QUOTECHAR, QUOTE + firstline=input.readline() + sdialect=csv.Sniffer().sniff(firstline) + input.pushback(firstline) + input.stop_peeking() + DELIMITER = sdialect.delimiter + QUOTECHAR = sdialect.quotechar + QUOTE = sdialect.quoting + + if options.detect: + print "-d %s -c %s -q %s" % ( + bash_quote(DELIMITER), + bash_quote(QUOTECHAR), + QUOTE_CHOICES[QUOTE]), + sys.exit(0) + +# Optionen der Kommandozeile verarbeiten +usage = u'''> %prog [options] [infile] + + %prog liest von STDIN oder [infile] und schreibt normalisiert nach STDOUT. + Die Ausgabe wird von "csvcut" und "csvwrite" verstanden. + + Austauschformat: "AAA"\\t"BBB"\\"CCC" + entspricht den Optionen: -d '\\t' -c '"' -q QUOTE_ALL + + Beispiele: + + EXCEL + > %prog -d ',' -c '"' -q QUOTE_MINIMAL --dos csvfile.csv + + CSV-Kampagne + > %prog -d ',' -c ^ -q QUOTE_ALL + + es reicht auch + > %prog -c ^ + + ################# + Felder ausfiltern + ################# + + Vertragskontonummer aus CSV-Datei mit Überschrift herausholen + > %prog -c ^ csvfile.csv | csvcut -f VKONT | csvwrite -q QUOTE_NONE + + Die ersten zehn Felder au CSV-Datei + > cat csvfile.csv | %prog -c ^ | csvcut -n 1:10 + + Die Felder 2,3 und 5 + > cat csvfile.csv | %prog -c ^ | csvcut -n 2,3,5 + + Die Felder 40 bis Zeilenende + > cat csvfile.csv | %prog -c ^ | csvcut -n 40:0 + + Das letzte Feld + > cat csvfile.csv | %prog -c ^ | csvcut -n 0 + + Alle Adresszeilen von LINE0 bis LINE9 + > cat csvfile.csv | %prog -c ^ | csvcut -f LINE0:LINE9 + + ''' + +parser = OptionParser(usage=usage) +parser.add_option("-d", "--delimiter", dest="delimiter", help="delimiter between columns", action="store", default=None) +parser.add_option("-c", "--quotechar", dest="quotechar", help="quotechar (quoting text)", action="store", default=None) +parser.add_option("-q", "", dest="quote", help="QUOTE_MINIMAL QUOTE_ALL QUOTE_NONNUMERIC QUOTE_NONE", action="store", default=None) +parser.add_option("--dos", "", dest="dos", help=r"DOS-linebreak \r\n (default: \n)", action="store_true", default=False) +parser.add_option("--nodoublequote", "", dest="nodoublequote", help="no double qouting (default: no)", action="store_true", default=False) +parser.add_option("--detect", "", dest="detect", help="print detected CSV-Format parameter", action="store_true", default=False) +parser.add_option("--cols", "", dest="cols", help="print number of cols", action="store_true", default=False) + + +(options, args) = parser.parse_args() + + +if len(args) == 0: + input_fd=sys.stdin +elif len(args) == 1: + input_fd=open(args[0], "rb") +else: + parser.print_usage() + sys.exit(1) + +input= input=ReaderWithPushback(input_fd) + +sniff() + +if options.quote: + if options.quote not in QUOTE_CHOICES: + sys.stderr.write('quote "%s" not in (%s)\n' % (quote, ','.join(QUOTE_CHOICES))) + sys.exit(1) + +if options.dos: + lineterminator='\r\n' +else: + lineterminator='\n' + +class RDialect(csv.Dialect): + _name = "rdialect" + delimiter = options.delimiter or DELIMITER #Trennzeichen + quotechar = options.quotechar or QUOTECHAR #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt + escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE" + doublequote = not options.nodoublequote #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert + skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren + lineterminator = lineterminator + if options.quote: + quoting=getattr(csv, options.quote) + else: + quoting = QUOTE # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE" + +rdialect=RDialect() + +reader=csv.reader(input, dialect=rdialect) + +#detect length +if options.cols: + print len(reader.next()) + sys.exit(0) + + +class WDialect(csv.Dialect): + _name = "wdialect" + delimiter = "\t" #Trennzeichen + quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt + escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE" + doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert + skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren + lineterminator = '\n' + quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE" + +wdialect=WDialect() +writer=csv.writer(sys.stdout, dialect=wdialect) + +writer.writerows(reader) +input_fd.close() + diff --git a/csvwrite b/csvwrite new file mode 100755 index 0000000..1274b2e --- /dev/null +++ b/csvwrite @@ -0,0 +1,73 @@ +#!/usr/bin/python +# -*- coding: iso-8859-1 -*- +from optparse import OptionParser +import sys +import re +import csv + +from signal import signal, SIGPIPE, SIG_DFL, SIGINT +signal( SIGPIPE, SIG_DFL ) +signal( SIGINT, SIG_DFL ) + +# Optionen der Kommandozeile verarbeiten +usage = '''> %prog [options] + + example: DOS-EXCEL + + > %prog -d ',' -c '"' -q QUOTE_MINIMAL --dos + + csv-writer with normalized output to stdout + + required input format: -d '\\t' -c '"' -q QUOTE_ALL + + full help with "%prog --help"''' + +parser = OptionParser(usage=usage) +parser.add_option("-d", "--delimiter", dest="delimiter", help="delimiter between columns (default: ',')", action="store", default=',') +parser.add_option("-c", "--quotechar", dest="quotechar", help="quotechar (quoting text) (default: '%default')", action="store", default='^') +parser.add_option("-q", "", dest="quote", help="QUOTE_MINIMAL QUOTE_ALL QUOTE_NONNUMERIC QUOTE_NONE (default: %default)", action="store", default='QUOTE_ALL') +parser.add_option("--dos", "", dest="dos", help=r"DOS-linebreak \r\n (default: \n)", action="store_true", default=False) +parser.add_option("--nodoublequote", "", dest="nodoublequote", help="no double qouting (default: no)", action="store_true", default=False) + +(options, args) = parser.parse_args() + +if options.quote not in ["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE"]: + sys.stderr.write('quote "%s" not in (QUOTE_MINIMAL|QUOTE_ALL|QUOTE_NONNUMERIC)\n' % options.quote) + sys.exit(1) + +if len(args) != 0: + parser.print_usage() + sys.exit(1) + +if options.dos: + lineterminator='\r\n' +else: + lineterminator='\n' + +class RDialect(csv.Dialect): + _name = "rdialect" + delimiter = "\t" #Trennzeichen + quotechar = '"' #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt + escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE" + doublequote = True #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert + skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren + lineterminator = '\n' + quoting = csv.QUOTE_ALL # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE" + +rdialect=RDialect() +reader=csv.reader(sys.stdin, dialect=rdialect) + + +class WDialect(csv.Dialect): + _name = "wdialect" + delimiter = options.delimiter #Trennzeichen + quotechar = options.quotechar #Zeichenketten die das Trennzeichen enthalten können werden so eingegrenzt + escapechar = None # nur benötigt wenn "quoting == QUOTE_NONE" + doublequote = not options.nodoublequote #Quote kommt in Zeichenkette vor und wird durch doppelte Ausgabe repräsentiert + skipinitialspace = False # Leerzeichen unmittelbar nach dem Trennzeichen ignorieren + lineterminator = lineterminator + quoting = getattr(csv, options.quote) # "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE" + +wdialect=WDialect() +writer=csv.writer(sys.stdout, dialect=wdialect) +writer.writerows(reader) diff --git a/cutter b/cutter new file mode 100755 index 0000000..dd2005b Binary files /dev/null and b/cutter differ diff --git a/cvsdiff b/cvsdiff new file mode 100755 index 0000000..db4b79e --- /dev/null +++ b/cvsdiff @@ -0,0 +1,3 @@ +#!/bin/sh +REPVERS=`cvs status $1 | grep "Repository revision" | cut -d: -f2 | sed -e "s/[ ][ ]*/ /g" | cut -d" " -f2` +cvs diff -r $REPVERS $1 diff --git a/cvsstatus b/cvsstatus new file mode 100755 index 0000000..85cde0b --- /dev/null +++ b/cvsstatus @@ -0,0 +1,6 @@ +#!/bin/sh +#cvs status |grep Status|sort -t":" +2 + +cvs status 2>&1 | egrep "File|Examining" | grep -v "Status: Up-" +echo "Editors:" +cvs editors diff --git a/daemon.tcl b/daemon.tcl new file mode 100755 index 0000000..d5fc719 --- /dev/null +++ b/daemon.tcl @@ -0,0 +1,105 @@ +#!/usr/bin/tclsh +package require Tclx + +###configuration +#Datei wo die zu übertragenden Scans drin sind +set SENDFILE /tmp/send.txt +#send2archiv binary +set SEND2ARCHIVBIN /home/mhoellein/send2archiv_daemon +#Logfile incl. Pfad +set LOGFILE /tmp/daemon_log.txt +#Lastrun - hier steht drin, wann der Daemon das letzte mal lief +set LASTRUN /tmp/daemon_lastrun.txt +#Zeit ab wann gearbeitet werden soll, bei -1 wird immer gesendet +set SENDTIME -1 +# + +#SIGNALHANDLING +set SIGNAL 0 + +proc Log {logmessage} { + global LOGFILE + set fd [open $LOGFILE a+] + puts $fd ${logmessage} + close $fd +} + +proc shutdown {} { + global SIGNAL + Log "shutdow wurde gerufen" + set SIGNAL 1 +} + + +proc send2archiv {} { + global SIGNAL SENDFILE SEND2ARCHIVBIN + Log "send2archiv" + if {[file exists ${SENDFILE}] && [file readable ${SENDFILE}] && [file writable ${SENDFILE}] } { + set toSend "" + Log "öffne SENDFILE $SENDFILE" + set fd [open $SENDFILE r] + while {[gets ${fd} line] >=0} { + Log "hänge an Liste an" + lappend toSend ${line} + } + close $fd + Log "fd schließen" + foreach i $toSend { + if { ${SIGNAL} } { exit } + Log "$i - senden" + #hier senden veranlassen + if {[file exists ${i}]} { + if {[file readable ${i}]} { + if {[file writable ${i}]} { + #hier das eigentliche senden + set fehler "" + catch {exec $SEND2ARCHIVBIN ${i}} fehler + Log "FEHLER = $fehler" + } else { + Log "$i - nicht schreibbar" + } + } else { + Log "$i - nicht lesbar" + } + } else { + Log "$i - existiert nicht mehr" + } + + } + } else { + Log "${SENDFILE} nicht vorhanden, les- oder schreibbar" + } +} + +proc dispatcher {} { + global LASTRUN + while 1 { + set fd [open ${LASTRUN} w] + puts $fd "send2archiv lief zuletzt [clock format [clock seconds]]" + close $fd + send2archiv + after 10000 + } +} + +proc daemonize {} { + close stdin + close stdout + close stderr + if {[fork]} {exit 0} + id process group set + if {[fork]} {exit 0} + id process group set + set fd [open /dev/null r] + set fd [open /dev/null w] + set fd [open /dev/null w] + cd / + umask 022 + return [id process] +} + +daemonize +signal ignore SIGHUP +signal unblock {QUIT TERM} +signal trap {QUIT TERM} shutdown +dispatcher diff --git a/daemon_test.tcl b/daemon_test.tcl new file mode 100755 index 0000000..48f9647 --- /dev/null +++ b/daemon_test.tcl @@ -0,0 +1,35 @@ +#!/usr/bin/tclsh +package require Tclx +proc shutdown {} { + exit +} + +proc dispatcher {} { + while 1 { + set fd [open /tmp/lastrun w] + puts $fd "send2archiv lief zuletzt [clock format [clock seconds]]" + close $fd + sleep 60 + } +} + +proc daemonize {} { + close stdin + close stdout + close stderr + if {[fork]} {exit 0} + id process group set + if {[fork]} {exit 0} + id process group set + set fd [open /dev/null r] + set fd [open /dev/null w] + set fd [open /dev/null w] + cd / + umask 022 + return [id process] +} +daemonize +signal ignore SIGHUP +signal unblock {QUIT TERM} +signal trap {QUIT TERM} shutdown +dispatcher diff --git a/db.tcl b/db.tcl new file mode 100755 index 0000000..d1276d8 --- /dev/null +++ b/db.tcl @@ -0,0 +1,113 @@ +#!/usr/bin/wish + +package require Pgtcl + +#set conn [pg_connect -conninfo [list host = localhost user = modw dbname = modwork_esg_modw]] + +#pg_select $db "select * from gp_name" user { +# parray user +#} + + + + + +proc insert_db {} { + global conn + set fp [open sampledata.csv] + #set conn [pg_connect -conninfo ""] + + while {[gets $fp line] >= 0} { + set line1 [split $line "%"] + #puts "$line1" + #lassign ${line1} vertrag vknr gp_name gpnr verbrauchsstelle_strhnr verbrauchsstelle_plzort serialnr_erstes_geraet bez_anschlussobj abrechnungsklasse vertragsende buchungskreis_id lieferant kae + set vertrag [lindex $line1 76] + set vknr [lindex $line1 5] + set gp_name "[lindex $line1 8] [lindex $line1 9]" + set gpnr [lindex $line1 78] + set verbrauchsstelle_strhnr "[lindex $line1 12] [lindex $line1 13] [lindex $line1 14]" + set verbrauchsstelle_plzort "[lindex $line1 15] [lindex $line1 16]" + set serialnr_erstes_geraet [lindex $line1 77] + set bez_anschlussobj "";#[lindex $line1 7] + set abrechnungsklasse "";#[lindex $line1 8] + set vertragsende "";#[lindex $line1 9] + set buchungskreis_id [lindex $line1 2] + set lieferant "";#[lindex $line1 11] + set kae "";#[lindex $line1 12] + #puts "$vertrag" + puts "$vertrag $vknr $gp_name $gpnr $verbrauchsstelle_strhnr $verbrauchsstelle_plzort $serialnr_erstes_geraet $bez_anschlussobj $abrechnungsklasse $vertragsende $buchungskreis_id $lieferant $kae" + #set statement "insert into modwork_isu_isu values ( DEFAULT, [pg_quote $vertrag], [pg_quote $vknr], [pg_quote $gp_name], [pg_quote $gpnr], [pg_quote $verbrauchsstelle_strhnr], [pg_quote $verbrauchsstelle_plzort], [pg_quote $serialnr_erstes_geraet ], [pg_quote $bez_anschlussobj], [pg_quote $abrechnungsklasse ], [pg_quote $vertragsende ], [pg_quote $buchungskreis_id], [pg_quote $lieferant], [pg_quote $kae]);" + #set statement "insert into modwork_isu_isu values ( DEFAULT, DEFAULT, DEFAULT, [pg_quote $gp_name], DEFAULT, [pg_quote $verbrauchsstelle_strhnr], [pg_quote $verbrauchsstelle_plzort], DEFAULT, DEFAULT, DEFAULT, DEFAULT, [pg_quote $buchungskreis_id], [pg_quote {}] , [pg_quote { }]);" + + + + #set result [pg_exec $conn $statement] + #puts "result: $result" + #if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { + # puts "[pg_result $result -error] executing '$statement'" +# } +# pg_result $result -clear + } +} +insert_db +exit + + + +# id | integer | not null default nextval('modwork_isu_isu_id_seq'::regclass) +# vertrag | integer | +# vknr | integer | +# gp_name | character varying(100) | not null +# gpnr | integer | +# verbrauchsstelle_strhnr | character varying(100) | not null +# verbrauchsstelle_plzort | character varying(50) | not null +# serialnr_erstes_geraet | character varying(20) | +# bez_anschlussobj | character varying(64) | +# abrechnungsklasse | character varying(2) | +# vertragsende | date | +# buchungskreis_id | integer | +# lieferant | character varying(32) | not null +# kae + + + + + + + + + + + + + + + + + +# set result [pg_exec $conn {prepare insert_peopletable (varchar, varchar, varchar, varchar, varchar, varchar) as insert into peopletable values ($1, $2, $3, $4, $5);}] +# if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { +#lassign $line name address city state zip +# +# set statement "insert into peopletable values ( \ +# [pg_quote $name], [pg_quote $address], [pg_quote $city] \ +# [pg_quote $state], [pg_quote $zip]);" +# puts "[pg_result $result -error] preparing statement" +# exit 1 +# } +# +# while {[gets $fp line] >= 0} { +# lassign $line name address city state zip +# set result [pg_exec_prepared $conn pgtest_insert_people $name $address $city $state $zip] +# if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { +# puts "[pg_result $result -error] inserting '$line'" +# } +# pg_result $result -clear +# } +#} +# +# +# +# +# +#pg_disconnect $db diff --git a/delOldesFilesIfHardiskFull.sh b/delOldesFilesIfHardiskFull.sh new file mode 100755 index 0000000..288fab0 --- /dev/null +++ b/delOldesFilesIfHardiskFull.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# solange mehr als 80% von /home belegt sind: +# lösche +# +DF=`which df` +DIR="/home/modscan/archiv/ /home/modscan/tmp/" + +while [ 0$(${DF} /home/ |sed -e 1d -e "s# *# #g"|cut -d' ' -f 5 | tr -c -d "[:digit:]") -gt 80 ]; do + F=$(find ${DIR} -type f \( -iname '*.png' -or -iname '*.tar' -or -iname '*.dat' -or -iname '*.jpg' -or -iname '*.tif' \) -printf "%T@ %p\n" | sort -n | head -1 | awk '{print $2}') + [ -z "${F}" ] && exit 1 + rm -v --interactive=never ${F} + #ls -l ${F} + #echo $(${DF} /home/) + #mv -v ${F} /tmp/ +done + diff --git a/deleteNumbersInFile.sh b/deleteNumbersInFile.sh new file mode 100755 index 0000000..600e059 --- /dev/null +++ b/deleteNumbersInFile.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +fileToDelete=/home/mhoellein/gasuf/VK-Nummern_gasuf_in_MW_sorted.csv +fileWithDataToDelete=/home/mhoellein/gasuf/gasuf_isunummern_selbst_gescannt.txt + +tmpfile=/tmp/salj8324uajr98avr + +rm -rf $tmpfile +cp $fileToDelete $tmpfile + +while read line +do + grep -v $line $tmpfile > /tmp/asfdlasfdas + mv /tmp/asfdlasfdas $tmpfile +done < ${fileWithDataToDelete} diff --git a/doArchivPrefixNewWithBKNR.sh b/doArchivPrefixNewWithBKNR.sh new file mode 100755 index 0000000..7796de0 --- /dev/null +++ b/doArchivPrefixNewWithBKNR.sh @@ -0,0 +1,88 @@ +#!/bin/sh +arraynumber=0 +for datFile in `find -iname \*vvsv\*.dat` +do + echo $datFile + cp $datFile ${datFile}.doArchivPrefixNewWithBKNR_0 + while read line + do + #echo $line + datLine[arraynumber]=${line} + arraynumber=$((arraynumber+1)) + if [ "${line}" == "S9995" ]; then + #echo "datensatzende erreicht" + for singleDatFileLine in "${datLine[@]}" + do + tmpS0005=`echo $singleDatFileLine | egrep "^S0005"` + tmpBUCHK=`echo $singleDatFileLine | egrep "^BUCHK"` + if [ "$tmpS0005" != "" ];then + S0005=$tmpS0005; + fi + if [ "$tmpBUCHK" != "" ];then +# echo $tmpBUCHK + BUCHK=`echo $tmpBUCHK |cut -d" " -f2`; +# echo $BUCHK + fi + done + if [ "$BUCHK" != "" -a "$S0005" != "" ];then + for singleDatFileLine in "${datLine[@]}" + do + if [ "${singleDatFileLine:0:5}" = "S0005" ]; then +# echo "erkannt: $singleDatFileLine" + prefix=`echo $singleDatFileLine |cut -d: -f1` + postfix=`echo $singleDatFileLine |cut -d: -f2-` +# echo "BUCHK=$BUCHK" + case $BUCHK in + 5000) + prefix="S0005 EGS_VA:" + ;; + N5020) + prefix="S0005 SNG_NETZ:" + ;; + 5060) + prefix="S0005 EAO_VA:" + ;; + N5060) + prefix="S0005 EAO_VA:" + ;; + 5070) + prefix="S0005 EVB_STROM:" + ;; + 5090) + prefix="S0005 EVB_GAS:" + ;; + 5130) + prefix="S0005 EVB_EV_BOBINGEN:" + ;; + 5140) + prefix="S0005 SCHWABEN_REGENERATIV:" + ;; + *) + prefix="S0005 UNBEKANNT:" + ;; + esac + datFileNew[i]=${prefix}${postfix} + unset prefix + unset postfix + else + datFileNew[i]=$singleDatFileLine + fi + i=$((i+1)) + done + fi + arraynumber=0 + unset S0005 + unset datLine + unset BUCHK + + fi + done < $datFile + i=0 + rm -f $datFile + for singleDatFileLineNew in "${datFileNew[@]}" + do + echo $singleDatFileLineNew >> $datFile + done + unset datFileNew + unset datFileNew +done diff --git a/egsscanneron b/egsscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/egsscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/emsscanneron b/emsscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/emsscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/entpwd.sh b/entpwd.sh new file mode 100644 index 0000000..476c132 --- /dev/null +++ b/entpwd.sh @@ -0,0 +1,37 @@ +#!/bin/sh +umask 0002 +PATH= +CAT="/bin/cat" +MKTEMP="/bin/mktemp" +AESPIPE="/usr/bin/aespipe" +VI="/usr/bin/vi" +CP="/bin/cp" +SHRED="/usr/bin/shred" + +BINARIES="$CAT $MKTEMP $AESPIPE $VI $CP $SHRED" + +for x in $BINARIES; do + if [ ! -x ${x} ]; then + echo "Programm ${x} fehlt!" + exit 1 + fi +done + +TMPFILE=`$MKTEMP /tmp/tfile.XXXXXXXXXX` +$CAT /media/mgostick2/uc | $AESPIPE -K ~/.ck.asc -d > $TMPFILE +if [ -s $TMPFILE ]; then + $VI -n -b $TMPFILE + $CP --force /media/mgostick2/uc.4 /media/mgostick2/uc.5 + $CP --force /media/mgostick2/uc.3 /media/mgostick2/uc.4 + $CP --force /media/mgostick2/uc.2 /media/mgostick2/uc.3 + $CP --force /media/mgostick2/uc.1 /media/mgostick2/uc.2 + $CP --force /media/mgostick2/uc /media/mgostick2/uc.1 + $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > /media/mgostick2/uc + OK=$? + if [ $OK -ne 0 ]; then + $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > /media/mgostick2/uc + fi + echo -n "Weiter mit " + read II + $SHRED --force --remove $TMPFILE +fi diff --git a/esgscanneron b/esgscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/esgscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/eval.tcl b/eval.tcl new file mode 100755 index 0000000..d34f074 --- /dev/null +++ b/eval.tcl @@ -0,0 +1,19 @@ +#!/usr/bin/wish + + +set TREFFER "" +set voll "" +set isu "" +set kae1 "" +set kae2 "" +set strasse "test" +set ort "" +set debitor "" +set search "" +foreach V "voll kae1 kae2 strasse debitor" { + if {[eval string length $${V}] > 0} { + puts $V + eval set search "${V}:*&" + } +} +puts $search diff --git a/eventtester.tcl b/eventtester.tcl new file mode 100755 index 0000000..8a54781 --- /dev/null +++ b/eventtester.tcl @@ -0,0 +1,8 @@ +#!/usr/bin/wish +proc output {keycode keysym detail } { + puts "keycode: $keycode keysym: $keysym detail: $detail" +} +entry .e +pack .e +bind .e {output %k %K %d} +bind .e {output %k %K %d} diff --git a/evkscanneron b/evkscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/evkscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/export.sh b/export.sh new file mode 100755 index 0000000..263336f --- /dev/null +++ b/export.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export LC_NUMERIC="C" diff --git a/filter3 b/filter3 new file mode 100755 index 0000000..39e7f0f Binary files /dev/null and b/filter3 differ diff --git a/findDatNotInModwork.sh b/findDatNotInModwork.sh new file mode 100755 index 0000000..8bf6e03 --- /dev/null +++ b/findDatNotInModwork.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +PWD=`pwd` +TMP='/tmp' + +MODWORK_USER=${1:-modwork_fm_p} +MODWORK_SERVER=${2:-vis-work} +DAYS_SEARCH_BACK={$3:-3} + +PID=$$ +FILELIST_TO_CHECK=fileToCheck.$PID + +FILELIST_TO_CHECK=`find $PWD -type f -iname modscan_workflow\*.dat -ctime -${DAYS_SEARCH_BACK}` + +scp $FILELIST_TO_CHECK ${MODWORK_USER}@${MODWORK_SERVER}:${TMP}/${FILELIST_TO_CHECK} +ssh ${MODWORK_USER}@${MODWORK_SERVER} while read line; do grep /home/${MODWORK_USER}/log/impor*.log ${line} &>/dev/null;if [ $? - diff --git a/find_kadis_not_in_isu.sh b/find_kadis_not_in_isu.sh new file mode 100755 index 0000000..f329250 --- /dev/null +++ b/find_kadis_not_in_isu.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +#gibt alle Zeilen nach $3 aus, die nicht in $2 sind +#stdout, wo die KAE leer + +if [ -z "${1}" -o -z "${2}" -o -z "${3}" ] +then + echo "aufruf: $0 kadisabzug isuabzug output" + exit 1 +fi + +while read line +do + kadis_kae=`echo ${line} | cut -d";" -f12,13 | sed -e "s/^0//" -e "s/;//"` + if [ -z "${kadis_kae}" ] + then + echo KAE leer in: $line + else + grep ";$kadis_kae;" $2 > /dev/null + ret=$? + if [ ${ret} -ne 0 ] + then + echo ${line} >> $3 + fi + fi +done < $1 diff --git a/generateBelegartenFileFromModarch3.sh b/generateBelegartenFileFromModarch3.sh new file mode 100644 index 0000000..de9551d --- /dev/null +++ b/generateBelegartenFileFromModarch3.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# +#SELECT "modarch3_ordner"."id", "modarch3_ordner"."name", "modarch3_ordner"."longname", "modarch3_ordner"."mandant_id", "modarch3_ordner"."source", "modarch3_ordner"."query_url", "modarch3_ordner"."ordnergruppe_id", "modarch3_ordner"."form_template" FROM "modarch3_ordner" ORDER BY "modarch3_ordner"."longname" ASC; +# +#SELECT "modarch3_belegartgruppe"."id", "modarch3_belegartgruppe"."name", "modarch3_belegartgruppe"."longname", "modarch3_belegartgruppe"."ordner_id" FROM "modarch3_belegartgruppe" WHERE "modarch3_belegartgruppe"."ordner_id" = 3; +# +#SELECT "modarch3_belegart"."id", "modarch3_belegart"."name", "modarch3_belegart"."longname", "modarch3_belegart"."ordner_id", "modarch3_belegart"."default", "modarch3_belegart"."source", "modarch3_belegart"."ignore" FROM "modarch3_belegart" INNER JOIN "modarch3_belegartgruppe_belegarten" ON ("modarch3_belegart"."id" = "modarch3_belegartgruppe_belegarten"."belegart_id") WHERE "modarch3_belegartgruppe_belegarten"."belegartgruppe_id" = 4; +# +#SELECT "modarch3_belegart"."id", "modarch3_belegart"."name", "modarch3_belegart"."longname", "modarch3_belegart"."ordner_id", "modarch3_belegart"."default", "modarch3_belegart"."source", "modarch3_belegart"."ignore" FROM "modarch3_belegart" LEFT OUTER JOIN "modarch3_belegartgruppe_belegarten" ON ("modarch3_belegart"."id" = "modarch3_belegartgruppe_belegarten"."belegart_id") WHERE ("modarch3_belegart"."ordner_id" = 3 AND "modarch3_belegartgruppe_belegarten"."belegartgruppe_id" IS NULL); diff --git a/getEVKcsv.sh b/getEVKcsv.sh new file mode 100755 index 0000000..e1ce4cc --- /dev/null +++ b/getEVKcsv.sh @@ -0,0 +1,86 @@ +#!/bin/bash +TEMP=$(getopt --long month:,day,year:,help -n 'getEVKcsv.sh' -o m:d:y:h -- "$@") +eval set -- "$TEMP" +while [ $# -ge 1 ]; do + case "$1" in + --) + shift + break + ;; + -y|--year) + year="$2" + shift + ;; + -m|--month) + month="$2" + shift + ;; + -d|--day) + day="$2" + shift + ;; + -h|--help) + case "$2" in + ""|*) + echo "Estellt die Rückgabedatein der EVK Sommer 2017 Aktion" + echo "Wenn keine Parameter übergeben werden, wird das aktuelle Datum genutzt!" + echo "" + echo "$0 -d|--day \"01\" -m|--month \"07\" -y|--year \"2017\" -h|--help" + shift 2 + exit ;; + esac;; + *) echo "Internal error!" ; exit 1 + ;; + esac + shift +done +if [ -z $day ]; then + day=`date +%d` +fi + +if [ -z $month ]; then + month=`date +%m` +fi + +if [ -z $year ]; then + year=`date +%Y` +fi + +if [ ! -d /home/evk/etc/3000036/Result/$year/$month/$day -a ! -d /home/evk/etc/3000037/Result/$year/$month/$day -a ! -d /home/evk/etc/3000038/Result/$year/$month/$day ]; then + echo "Verzeichnis "/home/evk/etc/300003[678]/Result/$year/$month/$day" existiert nicht..." + exit 2 +fi + +csvlines=0 +for i in `find /home/evk/etc/300003[6,7,8]/Result/$year/$month/$day/ -type f` +do + destination=`pwd`/`echo $i|cut -d'/' -f5`_`basename $i` + cp $i $destination + outfilename=`basename $destination .csv`_out.csv + cat $destination | csvread -c '^' -d ',' |csvcut -f VKONT,WERT1|csvwrite -d ',' -c '^' > $outfilename +done + +sendMail() { + echo -e $mailtext| mail -S sendcharsets=iso-8859-15 -S encoding=8bit -S from='Mario Höllein' -s"env äöüß iso" -s"${subject}" -a Result_$year$month${day}_EVK.zip -b sfehmel@tbz-pariv.de -b lgeissler@tbz-pariv.de -b mhoellein@tbz-pariv.de -c benjamin.gehrig@visconto.de michael-stephan.jaeger@visconto.de +} + +generateRechnungsZeile() { + anz=`ls /home/evk/archiv/send2archive_Aktion_062017/$year/$month/$day/*.dat|wc -l` + echo -e "${day}.${month}.${year} EVK_INFO030 3000000 $anz $anz*(AUSWERTUNG_EVK:4·)"; +} + +zip -e Result_$year$month${day}_EVK.zip * + +subject="EVK Aktion Rückspieldatei $year$month${day}" +mailtext="Hallo Herr Jäger,\n\nanbei die Rückspieldatei vom ${day}.${month}.${year}.\n\nMit freundlichen Grüßen\n\nMario Höllein" +generateRechnungsZeile +read -p "Mail versenden? ja/nein: " answer +case $answer in + j|y|ja|Ja|JA|yes|YES|Yes) + sendMail + exit 10 + ;; + *) + exit 20 + ;; +esac diff --git a/getPicturesFromHomecloud.sh b/getPicturesFromHomecloud.sh new file mode 100755 index 0000000..d0d62b2 --- /dev/null +++ b/getPicturesFromHomecloud.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +NEXTCLOUDUSERS="mhoellein nelly susi" +NEXTCLOUDSERVER="home.hoellein.online" +PWD=`pwd` +if [ "$1" != "" ];then + NEXTCLOUDUSERS=$1 +fi + +#/localhome/nextcloud/data/mhoellein/files + +for u in $NEXTCLOUDUSERS +do + rsync -av --rsh="ssh -p 1194" root@home.hoellein.online:/localhome/nextcloud/data/$u/files/SofortUpload/Camera/`date +%Y/%m`/ ${PWD} +done diff --git a/getScreen b/getScreen new file mode 100755 index 0000000..04e8d9f --- /dev/null +++ b/getScreen @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ $1 = "" ]; then + echo "Scanhost angeben!" + echo "xvnc_scanrechner scanhost" +fi +echo "Passwort für root auf $1 eingeben:" +ssh -t -L 5900:localhost:5900 root@${1} "x11vnc -localhost -nolookup -nopw -display :0 -auth \$(ps axuww | egrep 'Xorg.*-auth' | grep -v egrep | sed -e 's#^.*-auth *##' | awk '{print \$1}')" diff --git a/getout.pl b/getout.pl new file mode 100755 index 0000000..c7adc89 --- /dev/null +++ b/getout.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl -w + +open(INFILE,$ARGV[0]); + +while () { + print $_; +} +close(INFILE); diff --git a/gis_datenaufbereitung.sh b/gis_datenaufbereitung.sh new file mode 100755 index 0000000..148b30f --- /dev/null +++ b/gis_datenaufbereitung.sh @@ -0,0 +1,16 @@ +#!/bin/bash +datei1=/tmp/csv1.csv +datei2=/tmp/csv2.csv +cp "/home/mhoellein/Ort u Straßenverzeichnis Gesamt2.csv" /tmp/csv2.csv +cp "/home/mhoellein/Ort u Straßenverzeichnis Gesamt.csv" /tmp/csv1.csv + +while read line +do + ortnr=`echo $line |cut -d";" -f1` + egrep ";${ortnr}$" $datei2 > /tmp/$$ + while read l + do + ortnr1=`echo $l |cut -d";" -f3` + echo "${l};`echo $line |cut -d\; -f2`" >> /tmp/gisdaten.csv + done < /tmp/$$ +done < "`echo $datei1`" diff --git a/gufscanneron b/gufscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/gufscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/hostl b/hostl new file mode 100755 index 0000000..d3f3278 --- /dev/null +++ b/hostl @@ -0,0 +1,5 @@ +#/bin/bash +host -l tbz-pariv.lan +host -l modarch.lan +host -l dmz.lan +host -l home.lan diff --git a/ifconfig b/ifconfig new file mode 100755 index 0000000..f91bd74 Binary files /dev/null and b/ifconfig differ diff --git a/insert_into_db_vertragsakten.sh b/insert_into_db_vertragsakten.sh new file mode 100755 index 0000000..168f5fa --- /dev/null +++ b/insert_into_db_vertragsakten.sh @@ -0,0 +1,50 @@ +#!/bin/bash +DB=vertragsakten +INPUTFILENAME=Strom_Gas_Vertr.csv +INPUTDIR=/home/modftp/MODSCAN/VERTRAGSAKTEN +TMP=/tmp +TMPINPUTFILE=input.$$ +TMPOUTPUT=output.$$ +WEEKDAY=`date +%A` + +if [ -r $INPUTDIR/$INPUTFILENAME ]; then + cp $INPUTDIR/$INPUTFILENAME $TMP/$TMPINPUTFILE + dos2unix $TMP/$TMPINPUTFILE 2>/dev/null + recode latin1..utf-8 $TMP/$TMPINPUTFILE + sed -i -e 's/";"/\t/g' -e 's/"//g' $TMP/$TMPINPUTFILE + cat << EOF >> $TMP/$TMPOUTPUT +drop table if exists test; +CREATE TABLE test ( + anlage character varying(50), + wegenr character varying(50), + vertrag character varying(50), + gpname character varying(80), + pk_anlage character varying(50), + sparte character varying(10), + vtrnr character varying(50), + plz character varying(50), + ort character varying(50), + strasse character varying(50), + hnr character varying(50), + hnrz character varying(50), + master_pk character varying(50), + pk_gp character varying(50), + syscrm_prod_installation_pk character varying(50), + pk_vertrag character varying(50), + volltext tsvector +); +COPY test (anlage, wegenr, vertrag, gpname, pk_anlage, sparte, vtrnr, plz, ort, strasse, hnr, hnrz, master_pk, pk_gp, syscrm_prod_installation_pk, pk_vertrag) FROM stdin; +EOF + cat $TMP/$TMPINPUTFILE >> $TMP/$TMPOUTPUT +cat << EOF >> $TMP/$TMPOUTPUT +\. +update test set volltext=to_tsvector( COALESCE(gpname,'') ||' '|| COALESCE(wegenr,'') ||' ' ||COALESCE(strasse,'') ||' ' ||COALESCE(ort,'') ||' '||COALESCE(plz,'') ||' '|| COALESCE(hnr,'') ||' '|| COALESCE(anlage,'') ||' '||COALESCE(vertrag,'')); +CREATE INDEX volltext_idx on test using gist(volltext); +drop table if exists $WEEKDAY; +ALTER TABLE va RENAME TO $WEEKDAY; +ALTER TABLE test RENAME TO va; +EOF + psql -f $TMP/$TMPOUTPUT $DB +fi +rm -rf $TMP/$TMPOUTPUT +rm -rf $TMP/$TMPINPUTFILE diff --git a/istgleich.sh b/istgleich.sh new file mode 100755 index 0000000..1614ff7 --- /dev/null +++ b/istgleich.sh @@ -0,0 +1,19 @@ +#!/bin/bash + + +if [ "hallo" = "hallo" ] +then + echo "hallo = hallo" +fi +if [ "hallo" = "hall" ] +then + echo "hallo = hall" +fi +if [ "hallo" == "hallo" ] +then + echo "hallo == hallo" +fi +if [ "hallo" == "hall" ] +then + echo "hallo == hall" +fi diff --git a/isu_test.sh b/isu_test.sh new file mode 100755 index 0000000..1d19a6b --- /dev/null +++ b/isu_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +cat isuabzug | sed -e "s/ *//g" -e "s/\^000//g" -e "s/\^,/\^;/g" -e "s/\^//g" > isuabzug_test +while read line ;do + teil1=`echo $line | cut -d";" -f"0-7"` + teil2=`echo $line | cut -d";" -f"8-" | sed -e "s/\///"` + echo -e ${teil1}";"${teil2} >> isuabzug_test1 +done < isuabzug_test + diff --git a/isu_zerfluecker b/isu_zerfluecker new file mode 100755 index 0000000..f6c5291 --- /dev/null +++ b/isu_zerfluecker @@ -0,0 +1,30 @@ +#!/bin/bash + +#vertragstypen.txt ->zuordnung kae->netz oder vertrieb + +#egs_kadisabzug ->kadisabzug + +#KUNDENDATEN_EGS ->isuabzug + +if [ -z $1 -o -z $2 -o -z $3 ]; then + echo "aufruf: $0 kae->netzfile kadisabzug output" + exit 1 +fi + + + +while read line +do + #echo "line: $line" + kae=`echo ${line} | cut -d" " -f1 | sed -e "s/\//;/" -e "s/^0//" -e "s/;/;000\*/"` + vart=`echo ${line} | cut -d" " -f2` + #echo "kae1: ${kae}" + if [ "${vart}" = "NETZ" ] + then + vart=5020 + else + vart="" + fi + #echo "kae2 vart: $kae $vart" + grep "${kae};" $2 >> $3 +done < $1 diff --git a/kernels/ethash_baffin_lws128.bin b/kernels/ethash_baffin_lws128.bin new file mode 100644 index 0000000..c0b84c0 Binary files /dev/null and b/kernels/ethash_baffin_lws128.bin differ diff --git a/kernels/ethash_baffin_lws192.bin b/kernels/ethash_baffin_lws192.bin new file mode 100644 index 0000000..52dfcbb Binary files /dev/null and b/kernels/ethash_baffin_lws192.bin differ diff --git a/kernels/ethash_baffin_lws256.bin b/kernels/ethash_baffin_lws256.bin new file mode 100644 index 0000000..2c2c027 Binary files /dev/null and b/kernels/ethash_baffin_lws256.bin differ diff --git a/kernels/ethash_baffin_lws64.bin b/kernels/ethash_baffin_lws64.bin new file mode 100644 index 0000000..8f2ca6f Binary files /dev/null and b/kernels/ethash_baffin_lws64.bin differ diff --git a/kernels/ethash_ellesmere_lws128.bin b/kernels/ethash_ellesmere_lws128.bin new file mode 100644 index 0000000..a782e14 Binary files /dev/null and b/kernels/ethash_ellesmere_lws128.bin differ diff --git a/kernels/ethash_ellesmere_lws192.bin b/kernels/ethash_ellesmere_lws192.bin new file mode 100644 index 0000000..e6f6638 Binary files /dev/null and b/kernels/ethash_ellesmere_lws192.bin differ diff --git a/kernels/ethash_ellesmere_lws256.bin b/kernels/ethash_ellesmere_lws256.bin new file mode 100644 index 0000000..33cdf25 Binary files /dev/null and b/kernels/ethash_ellesmere_lws256.bin differ diff --git a/kernels/ethash_ellesmere_lws64.bin b/kernels/ethash_ellesmere_lws64.bin new file mode 100644 index 0000000..412a622 Binary files /dev/null and b/kernels/ethash_ellesmere_lws64.bin differ diff --git a/kernels/ethash_gfx901_lws128.bin b/kernels/ethash_gfx901_lws128.bin new file mode 100644 index 0000000..4493a61 Binary files /dev/null and b/kernels/ethash_gfx901_lws128.bin differ diff --git a/kernels/ethash_gfx901_lws192.bin b/kernels/ethash_gfx901_lws192.bin new file mode 100644 index 0000000..2083cf3 Binary files /dev/null and b/kernels/ethash_gfx901_lws192.bin differ diff --git a/kernels/ethash_gfx901_lws256.bin b/kernels/ethash_gfx901_lws256.bin new file mode 100644 index 0000000..fc5339a Binary files /dev/null and b/kernels/ethash_gfx901_lws256.bin differ diff --git a/kernels/ethash_gfx901_lws64.bin b/kernels/ethash_gfx901_lws64.bin new file mode 100644 index 0000000..6f7dd5d Binary files /dev/null and b/kernels/ethash_gfx901_lws64.bin differ diff --git a/kernels/ethash_tonga_lws128.bin b/kernels/ethash_tonga_lws128.bin new file mode 100644 index 0000000..534c4c6 Binary files /dev/null and b/kernels/ethash_tonga_lws128.bin differ diff --git a/kernels/ethash_tonga_lws192.bin b/kernels/ethash_tonga_lws192.bin new file mode 100644 index 0000000..f192334 Binary files /dev/null and b/kernels/ethash_tonga_lws192.bin differ diff --git a/kernels/ethash_tonga_lws256.bin b/kernels/ethash_tonga_lws256.bin new file mode 100644 index 0000000..1d60291 Binary files /dev/null and b/kernels/ethash_tonga_lws256.bin differ diff --git a/kernels/ethash_tonga_lws64.bin b/kernels/ethash_tonga_lws64.bin new file mode 100644 index 0000000..e274696 Binary files /dev/null and b/kernels/ethash_tonga_lws64.bin differ diff --git a/lkw_find_versand.sh b/lkw_find_versand.sh new file mode 100755 index 0000000..5bf8642 --- /dev/null +++ b/lkw_find_versand.sh @@ -0,0 +1,14 @@ +#/bin/bash + +rm -rf /tmp/versand.csv +for i in `find /home/modarch/archiv/scan/PCSCAN1/2009/ -type f -iname 3100002_\*.dat | xargs egrep -l "^VERSAND VERSAND"` +do + #echo $i + name="" + str="" + plz="" + name=`cat $i |grep S0120 |sed -e "s/^S0120 //"` + str=`cat $i |grep S0230 |sed -e "s/^S0230 //"` + plz=`cat $i |grep S0240 |sed -e "s/^S0240 //"` + echo "${name};${str};${plz}" >> /tmp/versand.csv +done diff --git a/load_icc.sh b/load_icc.sh new file mode 100755 index 0000000..0334d63 --- /dev/null +++ b/load_icc.sh @@ -0,0 +1,2 @@ +#/bin/sh +/home/mhoellein/.display/dispwin -I /home/mhoellein/.display/lg.icc diff --git a/lock.tcl b/lock.tcl new file mode 100755 index 0000000..107ea12 --- /dev/null +++ b/lock.tcl @@ -0,0 +1,36 @@ +#!/usr/bin/wish +if {[catch {package require Tclx} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket Tclx fehlt. Bitte installieren." + exit 1 +} +# Paket BLT z.B. blt::tabset blt::busy +if {[catch {package require BLT} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket BLT fehlt. Bitte installieren." + exit 1 +} +set locked "" +proc lock {} { + global fid locked + set locked [flock -nowait -write $fid] + puts "1 $locked lock" +} + +proc ulock {} { + global fid locked + puts "1 $locked ulock" + if { $locked } { + funlock $fid + } else { + puts "1 nicht gelockt" + } +} + +while { 1 == 1 } { + set fid [open t w] + lock + after 10 + ulock + close $fid +} diff --git a/lock1.tcl b/lock1.tcl new file mode 100755 index 0000000..cda5119 --- /dev/null +++ b/lock1.tcl @@ -0,0 +1,25 @@ +#!/usr/bin/wish +if {[catch {package require Tclx} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket Tclx fehlt. Bitte installieren." + exit 1 +} +# Paket BLT z.B. blt::tabset blt::busy +if {[catch {package require BLT} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket BLT fehlt. Bitte installieren." + exit 1 +} +while { 1 == 1 } { + set fid [open t w] + set locked [flock -nowait -write $fid] + if {$locked} { + puts "2 t gelockt" + after 1000 + funlock $fid + close $fid + } else { + puts "2 t war gelockt" + close $fid + } +} diff --git a/locktester.tcl b/locktester.tcl new file mode 100755 index 0000000..08c82ea --- /dev/null +++ b/locktester.tcl @@ -0,0 +1,87 @@ +#!/usr/bin/wish +if {[catch {package require Tclx} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket Tclx fehlt. Bitte installieren." + exit 1 +} +# Paket BLT z.B. blt::tabset blt::busy +if {[catch {package require BLT} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket BLT fehlt. Bitte installieren." + exit 1 +} +proc karte_sperren {Log} { + # Input Variablen + global do_karte pfad_do + # Output Variablen + global fid_lock_karte lock_karte + # Sonstiges + global pfad_locks_eingang + + set fid_lock_karte "" + set lock_karte [file join $pfad_locks_eingang $do_karte] + set fid [open ${lock_karte} w] + set locked 0 + set locked [flock -nowait -write $fid] + if {$locked} { + set fid_lock_karte $fid + } else { + close $fid + } + if {$fid_lock_karte == ""} { + puts "lock fehlgeschlagen... $lock_karte" + set lock_karte "" + } +} + +proc karte_freigeben {} { + global fid_lock_karte lock_karte + if {$fid_lock_karte == "" } { + global pfad_do + error "Karte kann nicht freigegeben werden, da sie nicht gesperrt ist: lock_karte $lock_karte $pfad_do" + } + funlock $fid_lock_karte + close $fid_lock_karte + file delete $lock_karte + + set fid_lock_karte "" + set lock_karte "" +} +set HOSTNAME [lindex [split "[array get env HOST ]" " " ] 1] +set pfad_locks_eingang "/localhome/mhoellein/lock_test" +#do_karte ist das file was gelock werden soll +set do_karte "" +#ist das verzeichnis wo die karte die gelockt wird drin ist + + +##hier über alle files und dann was in image0001.pnm reinschreiben +while { 1 } { + set pfad_do "/localhome/mhoellein/lock_test_daten" + set dirs [glob -directory $pfad_do *] + set a 1 + foreach i $dirs { + set pfad_do $i + set do_karte image${a} + karte_sperren /localhome/mhoellein/lock_test/logfile.log + if {$fid_lock_karte != "" } { + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME start ${pfad_do}/image${a}" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} asklfdjalsjflasjfdlaösjfjasklfjklasjflasjflkjas" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} alskjdflkasjfdla" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} hoer gleich auf mit locking" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME fertig ${pfad_do}/image${a}" + close $fd + incr a + karte_freigeben + } + } +} + diff --git a/locktester1.tcl b/locktester1.tcl new file mode 100755 index 0000000..b70e830 --- /dev/null +++ b/locktester1.tcl @@ -0,0 +1,92 @@ +#!/usr/bin/wish +if {[catch {package require Tclx} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket Tclx fehlt. Bitte installieren." + exit 1 +} +# Paket BLT z.B. blt::tabset blt::busy +if {[catch {package require BLT} fid] } { + tk_messageBox -type ok -icon warning \ + -message "Das Paket BLT fehlt. Bitte installieren." + exit 1 +} +proc karte_sperren {Log} { + # Input Variablen + global do_karte pfad_do + # Output Variablen + global fid_lock_karte lock_karte + # Sonstiges + global pfad_locks_eingang + + set fid_lock_karte "" + set lock_karte [file join $pfad_locks_eingang $do_karte] + set fid [open ${lock_karte} w] + set locked 0 + set locked [flock -nowait -write $fid] + if {$locked} { + if {! [file exists $pfad_do] } { + file delete $lock_karte + close $fid + } else { + set fid_lock_karte $fid + } + } else { + close $fid + } + if {$fid_lock_karte == ""} { + puts "lock fehlgeschlagen... $lock_karte" + set lock_karte "" + } +} + +proc karte_freigeben {} { + global fid_lock_karte lock_karte + if {$fid_lock_karte == "" } { + global pfad_do + error "Karte kann nicht freigegeben werden, da sie nicht gesperrt ist: lock_karte $lock_karte $pfad_do" + } + funlock $fid_lock_karte + close $fid_lock_karte + file delete $lock_karte + + set fid_lock_karte "" + set lock_karte "" +} +set HOSTNAME postel1 +set pfad_locks_eingang "/localhome/mhoellein/lock_test" +#do_karte ist das file was gelock werden soll +set do_karte "" +#ist das verzeichnis wo die karte die gelockt wird drin ist + + +##hier über alle files und dann was in image0001.pnm reinschreiben +while { 1 } { + set pfad_do "/localhome/mhoellein/lock_test_daten" + set dirs [glob -directory $pfad_do *] + set a 1 + foreach i $dirs { + set pfad_do $i + set do_karte image${a} + karte_sperren /localhome/mhoellein/lock_test/logfile.log + if {$fid_lock_karte != "" } { + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME start ${pfad_do}/image${a}" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} asklfdjalsjflasjfdlaösjfjasklfjklasjflasjflkjas" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} alskjdflkasjfdla" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME ${pfad_do}/image${a} hoer gleich auf mit locking" + close $fd + set fd [open ${pfad_do}/image${a} a+] + puts $fd "$HOSTNAME fertig ${pfad_do}/image${a}" + close $fd + incr a + karte_freigeben + } + } +} + diff --git a/make_luke b/make_luke new file mode 100755 index 0000000..2560d8e --- /dev/null +++ b/make_luke @@ -0,0 +1,97 @@ +#!/bin/sh + +read -p "Key für firma vorhanden? (j/n) " -n 1 jn +case $jn in + j|y|J|Y) echo " gut"; + ;; + n|N) echo + echo Erstelle neuen Key für Firma!; + read -p "Firmenkürzel eingeben (z.B. erw): " ant + dd if=/dev/urandom of=/tmp/key.bin bs=4k count=1 + base64 /tmp/key.bin > /tmp/key.${ant} + rm -rf /tmp/key.bin + echo "neuer Key für $ant erstellt in /tmp/key.${ant}" + ;; + *) echo + echo "Keine Ahnung!"; + echo "und Tschüss..."; + exit + ;; +esac + +read -p "Platte verschlüsseln? (j/n) " -n 1 ant +case $ant in + j|J|y|Y) echo " Schön, los gehts."; + ;; + n|N) echo " Schade, schluß..."; + exit + ;; + *) echo + echo "keine Ahnung!"; + echo "und Tschüss..."; + exit + ;; +esac + +echo "Devices:" +fdisk -l | egrep "^(Platte|Disk) /" +read -p "device eingeben (Bsp.: /dev/sdb): " device +fdisk $device <> $SEARCH_PATH/rueck + for (( a=1 ; a<=$anzahl ; a++ )) + do + echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/gleich1.txt + done + echo "---------------------------------------------" >> $SEARCH_PATH/gleich1.txt + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + else + #TODO hier noch pruefen ob unklar und vertrag -> dann i.o und vertrag nehmen + #Vertrag unterschiedlich + ergzahl=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq | wc -l` + erg=`for (( a=1 ; a<=$anzahl ; a++ ));do echo "${v[$a]}"; done |sort |uniq` + if [ $ergzahl -gt 2 ]; then + #UNKLAR + ret=6 + if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then + ((anz_unterschied++)) + cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + echo "$VERTRAG - $vnum unterschiedlich" + cat $ORIG_CSV | grep "\^00${vnum}\^" >> $SEARCH_PATH/unterschiedlich1.txt + for (( a=1 ; a<=$anzahl ; a++ )) + do + echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/unterschiedlich1.txt + done + echo "---------------------------------------------" >> $SEARCH_PATH/unterschiedlich1.txt + else + akt_vertr="" + for vtr in $erg + do + if [ "${vtr}" != "UNKLAR" ] + then + if [ "$akt_vertr" = "" -o "$akt_vertr" = "$vtr" ]; then + akt_vertr=$vtr + else + akt_vertr=UNKLAR + fi + fi + done + if [ "$akt_vertr" = "" ]; then akt_vertr=UNKLAR; fi + case $akt_vertr in + EVK_B_E) + ret=5 + ;; + EVK_B_S) + ret=4 + ;; + EVK_OE_E) + ret=3 + ;; + EVK_T1) + ret=1 + ;; + EVK_T2) + ret=2 + ;; + UNKLAR) + ret=6 + ;; + esac + if [ $ret -eq 6 ]; then + if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then + ((anz_unterschied++)) + cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + echo "$VERTRAG - $vnum unterschiedlich" + cat $ORIG_CSV | grep "\^00${vnum}\^" >> $SEARCH_PATH/unterschiedlich2.txt + for (( a=1 ; a<=$anzahl ; a++ )) + do + echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/unterschiedlich2.txt + done + echo "---------------------------------------------" >> $SEARCH_PATH/unterschiedlich2.txt + else + if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then + ((anz_gleich++)) + cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck + for (( a=1 ; a<=$anzahl ; a++ )) + do + echo "Vertrag war $VERTRAG - $vnum ${v[$a]}" >> $SEARCH_PATH/gleich2.txt + done + echo "---------------------------------------------" >> $SEARCH_PATH/gleich2.txt + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + fi + fi + fi + + else + #ein treffer + vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat |cut -d: -f 2 |cut -d" " -f 2` + case $vtyp in + EVK_B_E) + ret=5 + ;; + EVK_B_S) + ret=4 + ;; + EVK_OE_E) + ret=3 + ;; + EVK_T1) + ret=1 + ;; + EVK_T2) + ret=2 + ;; + UNKLAR) + ret=6 + ;; + *) + echo "FEHLER: VERTRAG=$VERTRAG" + echo "vtyp=$vtyp" + echo "vnum=$vnum" + exit 1 + ;; + esac + echo "einzelscan $vnum war $ret" >> $SEARCH_PATH/einzeln + if [ `cat $ORIG_CSV |grep -c "\^00${vnum}\^"` -eq 1 ];then + ((anz_rueck++)) + cat $ORIG_CSV | grep "\^00${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> $SEARCH_PATH/rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + fi +done + echo -e "Rueckgabe:\t\t\t\t$anz_rueck" + echo -e "gleiche:\t\t\t\t$anz_gleich" + echo -e "unterschiedlich:\t\t\t$anz_unterschied" + echo -e "Rueckgabe:\t\t\t$anz_rueck\ngleiche:\t\t\t$anz_gleich\nunterschiedlich:\t\t$anz_unterschied" > statistik diff --git a/make_rueckgabe.tcl b/make_rueckgabe.tcl new file mode 100755 index 0000000..b8def6b --- /dev/null +++ b/make_rueckgabe.tcl @@ -0,0 +1,116 @@ +#!/usr/bin/tclsh + +set csv_file [open /tmp/MA3100_002.csv.orig r] +set csv_rueck [open /tmp/rueck w] +set dat_file [open /tmp/datlist r] + +proc pruefe_csvfile {fid} { + set ln "-1" + set lb "-1" + while {[gets $fid line]>=0} { + set ln [llength [split_csv ${line}]] + if { $lb != "-1" && $ln != $lb } { + return 0 + } + } + return 1 +} + +proc create_csvliste {fid} { + set csv_list {} + while {[gets $fid l]>=0} { + lappend csv_list $l + } + return $csv_list +} + +proc split_csv {line} { + set csv_list {} + while {[string length $line] > 0} { + if [regexp "^\\^\[^^\]*\\^" $line ausdruck] { + lappend csv_list [string range $ausdruck 1 end-1] + set line [string range $line [expr [string length $ausdruck]+1] end] + } else { + return $csv_list + } + } + return $csv_list +} + +proc ldelete {liste elem} { + if { ($elem < [llength $liste]) && ($elem != 0) } { + return "[lrange $liste 0 [expr ${elem}-1]] [lrange $liste [expr ${elem}+1] end]" + } elseif { $elem == 0 } { + return [lrange $liste 1 end] + } elseif { $elem == [expr [llength $liste]-1] } { + return [lrange $liste 0 [expr [llength $liste]-1]] + } + return $liste +} + +proc lchange {liste elem wert} { + if { ($elem != 0) && ($elem < [expr [llength $liste]-1])} { + return "[lrange $liste 0 [expr $elem-1]] ${wert} [lrange $liste [expr $elem+1] end]" + } elseif { $elem == 0 } { + return "${wert} [lrange $liste 1 end]" + } elseif { $elem == [expr [llength $liste]-1] } { + return "[lrange $liste 0 [expr [llength $liste]-2]] ${wert}" + } + return $liste +} + + +proc sap_csv_line {liste} { + set line "" + for {set x 0} {$x<[llength $liste]} {incr x} { + if { $x < [expr [llength $liste]-1] } { + append line "^[lindex $liste $x]^," + } else { + append line "^[lindex $liste $x]^" + } + } + return $line +} + + +set csv_orig [create_csvliste $csv_file] + +while {[gets $dat_file line]>=0} { + #einzelne datfiles oeffnen + set ret "" + set fd [open $line r] + while {[gets $fd l]>=0} { + if { [lindex [split $l " "] 0] == "DATEN" } { + set datdaten "" + regsub "^DATEN " $l "" datdaten + set datdaten [split_csv $datdaten] + } + if { [lindex [split $l " "] 0] == "VERTRAG" } { + switch [lindex [split $l " "] 1] { + LKW_T1 { set ret 6 } + LKW_T2 { set ret 7 } + LKW_B_E { set ret 2 } + LKW_G { set ret 3 } + LKW_B_S { set ret 4 } + LKW_N_E { set ret 5 } + } + } + } +# for {set x 0} {$x<[llength $csv_orig]} {incr x} { +# if { strint match "[lindex $csv_orig $x]" == "[sap_csv_line $datdaten]" } { +# set csv_orig [ldelete $csv_orig $x] +# } +# } + puts $csv_rueck "[sap_csv_line [lchange $datdaten [expr [llength $datdaten]-2] $ret]]" + close $fd +} + + +#set csv_keine [open /tmp/keineAntwort w] +#for {set x 0} {$x<[llength $csv_orig]} {incr x} { +# puts $csv_keine [sap_csv_line [split_csv [lindex $csv_orig $x]]] +#} +#close $csv_keine +close $csv_file +close $csv_rueck +close $dat_file diff --git a/make_rueckgabe_ems.sh b/make_rueckgabe_ems.sh new file mode 100755 index 0000000..208b6d8 --- /dev/null +++ b/make_rueckgabe_ems.sh @@ -0,0 +1,101 @@ +#!/bin/bash + +#SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/" +#SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/temp_today/" +SEARCH_PATH="/localhome/mhoellein/rueckgabe_ems/050110/" +#SEARCH_PATH="/home/mhoellein/rueckgabe_evk" +#CSV_LIST="${SEARCH_PATH}/0718062_EMS_Ideal.csv ${SEARCH_PATH}/0718068_EMS_STAND.csv ${SEARCH_PATH}/0719076_GSZ_Ideal.csv ${SEARCH_PATH}/0719081_GSZ_Standard.csv ${SEARCH_PATH}/0718065_EMS_FIX1.csv ${SEARCH_PATH}/0719079_GSZ_FIX1.csv" +CSV_LIST=`ls ${SEARCH_PATH}/*.csv` +#ORIG_CSV="${SEARCH_PATH}/angeschrieben_gesamt.csv" +ARCHIV_LISTE="${SEARCH_PATH}/archiv_liste.txt" +for ORIG_CSV in $CSV_LIST +do + ARCHIV_LISTE="${SEARCH_PATH}/`basename $ORIG_CSV .csv`.kun" + #ARCHIV_LISTE="$ORIG_CSV" + anz_rueck=0 + anz_unterschied=0 + anz_gleich=0 + for VERTRAG in `cat $ARCHIV_LISTE |cut -d":" -f1 |sed -e s/^..*_// -e s/\.dat$// |sort|uniq -c |sort |sed -e "s/ *//g" -e "s/ /_/"` + do + #echo "VERTRAG=$VERTRAG" + anzahl=`echo $VERTRAG |cut -d"_" -f 1` + vnum=`echo $VERTRAG |cut -d"_" -f 2` + #echo "anzahl=$anzahl vnum=$vnum" + if [ $anzahl -ne 1 ]; then + #mehr als ein treffer + if [ $anzahl -gt 2 ]; then echo "ACHTUNG Anzahl=$anzahl!!!" ; fi + vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat|sed -e s"/ /·/"` + v1=`echo $vtyp |cut -d" " -f1 | cut -d"·" -f 2` + v2=`echo $vtyp |cut -d" " -f2 | cut -d"·" -f 2` + if [ "${v1}" = "${v2}" ]; then + #anhängen, da vertrag gleich + case $v1 in + GAS) + ret=1 + ;; + TREUE) + ret=2 + ;; + *) + echo "FEHLER: VERTRAG=$VERTRAG" + echo "vtyp=$vtyp" + echo "vnum=$vnum" + ret=9 + exit 2 + ;; + esac + #echo "VERTRAGSTYP=$vtyp ret=$ret" + if [ `cat $ORIG_CSV |grep -Ec "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then + ((anz_gleich++)) + #scheisse, hier ist mist passiert, weil ich -e anstatt -E geschrieben habe + cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}_doppel_gleich.rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + else + #Vertrag unterschiedlich + ret=8 + if [ `cat $ORIG_CSV |grep -Ec "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then + ((anz_unterschied++)) + cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}_doppel_unterschiedlich.rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + echo "$VERTRAG - $vnum unterschiedlich" + cat $ORIG_CSV | grep "\^${vnum}\^" >> ${ORIG_CSV}.unterschiedlich + echo "Vertrag war $v1 != $v2" >> ${ORIG_CSV}.unterschiedlich + echo "--" + fi + + else + #ein treffer + vtyp=`cat $ARCHIV_LISTE |grep _${vnum}\.dat |cut -d: -f 2 |cut -d" " -f 2` + case $vtyp in + GAS) + ret=1 + ;; + TREUE) + ret=2 + ;; + *) + echo "FEHLER: VERTRAG=$VERTRAG" + echo "vtyp=$vtyp" + echo "vnum=$vnum" + ret=9 + exit 1 + ;; + esac + #echo "VERTRAGSTYP=$vtyp ret=$ret" + if [ `cat $ORIG_CSV |grep -cE "^(\^[^^]*\^,){5}\^0*${vnum}\^"` -eq 1 ];then + ((anz_rueck++)) + cat $ORIG_CSV | grep -E "^(\^[^^]*\^,){5}\^0*${vnum}\^" |sed -e s"/\^,\^\([^^]*\)\^$/${ret}^,^\1^/" >> ${ORIG_CSV}.rueck + else + echo "Datensatz $vnum mehrfach in $ORIG_CSV" + fi + fi + done + echo -e "Rueckgabe:\t\t\t$anz_rueck" + echo -e "gleiche:\t\t\t$anz_gleich" + echo -e "unterschiedlich:\t\t$anz_unterschied" + echo -e "Rueckgabe:\t\t\t$anz_rueck\ngleiche:\t\t\t$anz_gleich\nunterschiedlich:\t\t$anz_unterschied" > ${ORIG_CSV}.statistik +done diff --git a/merge2files.sh b/merge2files.sh new file mode 100755 index 0000000..f8d60f6 --- /dev/null +++ b/merge2files.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +DEBUG=0 +if [ -z "${1}" -o -z "${2}" -o -z "${3}" -o -z "${4}" -o -z "${5}" -o -z "${6}" -o -z "${7}" -o -z "${8}" ] +then + echo "" + echo "" + echo "Es müssen alle Parameter immer angegenen werden!" + echo "" + echo "file1 - hier sind die daten drin nach denen gesucht wird" + echo "file2 - hier sind die daten drin, die in file1 eingefügt werden sollen" + echo "1spalte/n - die Felder die benutzt werden sollen" + echo "trenner1 - trennzeichen file1" + echo "2spalte/n - die Felder die benutzt werden sollen Bsp.: " + echo "trenner2 - trennzeichen file2" + echo "pos - Position wo in file1 eingefügt werden soll" + echo "output - file wo das Ergebnis hin kommt" + echo "alt. trenner - alternativer trenner, der ersetzt wird in seachstring -> muss nicht" + echo "angegeben werden - wurde aber mal benötigt" + echo "aufruf: $0 file1 file2 1spalte/n trenner1 2spalte/n trenner2 pos output (alt. trenner)" + echo "" + exit 1 +fi + +while read line +do + wert=`echo ${line} | cut -d"$4" -f"$3"` + if [ -z "${wert}" ] + then + echo "Zeile leer, überspringe ..." + else + if [ -z "$9" ] + then + search=`echo $wert |sed -e s/$4/$6/g` + else + search=`echo $wert |sed -e s/$4/${9}/g` + fi + if if [ $DEBUG -eq 1 ] + echo "suche nach $search" + fi + found=`grep "${6}${search}${6}" $2` + if [ -z "$found" ] + then + echo "$search nicht in $2 gefunden" + else + if [ $DEBUG -eq 1 ] + then + echo "$search gefunden: $found" + fi + isu="" + isu=`echo $found |cut -d";" -f3` + echo ${line}${4}${isu} >> $8 + + fi + + fi +done < $1 diff --git a/my_convert.sh b/my_convert.sh new file mode 100755 index 0000000..a9b1cdc --- /dev/null +++ b/my_convert.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +# diff --git a/nnr2r b/nnr2r new file mode 100755 index 0000000..5b491da Binary files /dev/null and b/nnr2r differ diff --git a/nr2r b/nr2r new file mode 100755 index 0000000..66bbb4f Binary files /dev/null and b/nr2r differ diff --git a/ocr-ausschnitt-rep b/ocr-ausschnitt-rep new file mode 100755 index 0000000..ca77864 Binary files /dev/null and b/ocr-ausschnitt-rep differ diff --git a/pdfcrack b/pdfcrack new file mode 100755 index 0000000..488c67e Binary files /dev/null and b/pdfcrack differ diff --git a/pdfinfo1 b/pdfinfo1 new file mode 100755 index 0000000..6e8d200 Binary files /dev/null and b/pdfinfo1 differ diff --git a/pingtest.sh b/pingtest.sh new file mode 100755 index 0000000..1affd56 --- /dev/null +++ b/pingtest.sh @@ -0,0 +1,8 @@ +#!/bin/sh +hosts="lkw-archiv egs-archiv esg-archiv evk-archiv" +count=1 +interval=2 +for host in $hosts +do + ping -c $count -i $interval $host +done diff --git a/png-qualitaet.py b/png-qualitaet.py new file mode 100755 index 0000000..d3c849b --- /dev/null +++ b/png-qualitaet.py @@ -0,0 +1,286 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- + +# Python Imports +import os +import re +import sys +import subprocess + +def usage(): + print """Usage: %s file.png outdir + Erzeuge mehrere PNG-Bilder mit reduzierter Farbanzahl. + Es werden mehrere HTML-Seiten erzeugt auf der man die Ergebnisse + anschauen kann. + """ % (os.path.basename(sys.argv[0])) + +colorscale=[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, 64] +xsizescale=[800, 1000, 1200] +thresholdscale=[35, 40, 45, 50, 55, 60, 65] + +def int2str(integer): + """ + Formatiere die Zahl für Menschen. + + 1000000 --> 1.000.000 + """ + integer=long(integer) + s=list(str(integer)) + i=-1 + while 1: + i+=4 + len_s=len(s) + if i + %s + %s + %s + %s
+ ''' % (xsize, ncolors, int2str(size), os.path.basename(small), + os.path.basename(small))) + fd=open(htmlfile, "wt") + fd.write(''' + + + png-qualitaet.py %s xsize=%s + + +

%s xsize=%s

+ Start
+
+            Kommando: pamscale -xsize %d | pnmdepth %d
+            Achtung: Wert von pnmdepth+1 ergibt Anzahl der Farben!
+           
+ + + + + + + + %s +
GrößeFarbenBytesBild (%s)
+ + ''' % (pngfile, xsize, + pngfile, xsize, + xsize, ncolors-1, + pngfile, + '\n'.join(rows))) + fd.close() + xsizerows.append('%d' % ( + 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(''' + + %s + %s%% + %s + %s
+ ''' % (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(''' + + + png-qualitaet.py %s Threshold + + +

%s Threshold

+ Start
+ + + + + + + + %s +
GrößeThresholdBytesBild
+ + ''' % (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(''' + + %s + %s + %s + %s%% + %s + %s
+ ''' % (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='prev: %s' % (link, isize-2) + else: + prev="First" + + if iend!=len(pngfiles): + link="%s_size_%03d.html" % (basename, isize+1) + next='next: %s' % (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(''' + + + png-qualitaet.py %(pngfile)s Size %(isize)d + + +

%(pngfile)s Size %(isizemin)sv%(all)s

+ Start
+ %(prev)s
%(next)s +
+            Kommando: pamscale -xsize N | pnmdepth D
+            Achtung: Wert von D+1 ergibt Anzahl der Farben!
+           
+ + + + + + + + + + %(rows)s +
 BreiteFarbenThresholdBytesBild
+ + ''' % locals()) + fd.close() + print "Erstellte", htmlfile + isizerows.append( + ''' + + %(isizemin)sv%(all)s + %(sizestart)s-%(sizeend)s + ''' % ( + locals())) + indexfile=os.path.join(outdir, "index.html") + fd=open(indexfile, "wt") + xsizerows='\n'.join(xsizerows) + isizerows='\n'.join(isizerows) + fd.write(''' + + + png-qualitaet.py %(pngfile)s Index + + +

%(pngfile)s Index

+
+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
+
+ + + %(xsizerows)s +
XSize
+ + Threshold (Schwarz/Weiß)

+ + + + %(isizerows)s +
Sorted by Filessize
+ + + ''' % locals()) + print "Erstellte", indexfile + + + +if __name__=="__main__": + main() diff --git a/png2klein.sh b/png2klein.sh new file mode 100755 index 0000000..50c89c8 --- /dev/null +++ b/png2klein.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e +if [ $# -ne 4 ]; then + echo "Usage: $0 xsize ncolors file.png outfile.png" + exit 1 +fi +xsize=$1 +ncolors=$2 +infile=$3 +outfile=$4 +pngtopnm $infile | pnmscale -xsize $xsize | pnmdepth $((ncolors-1)) | pnmtopng > $outfile +#convert -thumbnail ${xsize}x -colors $ncolors $infile $outfile + diff --git a/pngto4bit.sh b/pngto4bit.sh new file mode 100755 index 0000000..24ed913 --- /dev/null +++ b/pngto4bit.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# +#Nimmt tars im aktuellen Verzeichnis und darunter +#entpackt die tars mit den pngs und reduziert die +#Graustufen auf 4bit, packt das ganze wieder und +#überschreibt das Original tar im ursprünglichen +#Verzeichnis +# + +pwd=`pwd` +tmp=`mktemp -d` +for t in `find -iname \*.tar` +do + echo $t + cd $tmp + tar xf $pwd/$t + for P in `ls *.png` + do + pngtopnm ${P} | pnmdepth 15 | pnmtopng -background black > $(basename $P .png).16.png + mv $(basename $P .png).16.png $P + done + tar cf $t *.png + mv $t $pwd/ + rm -rf $tmp/* +done diff --git a/postgres_connect.tcl b/postgres_connect.tcl new file mode 100755 index 0000000..c6d1ff4 --- /dev/null +++ b/postgres_connect.tcl @@ -0,0 +1,161 @@ +#!/usr/bin/wish + +#pg_connect -- eine Verbindung zum Server öffnen +#pg_disconnect -- eine Verbindung zum Server schließen +#pg_conndefaults -- Verbindungsparameter und ihre Vorgabewerte ermitteln +#pg_exec -- einen Befehl an den Server senden +#pg_result -- Informationen über ein Befehlsergebnis ermitteln +#pg_select -- eine Schleife über ein Anfrageergebnis ausführen +#pg_execute -- eine Anfrage senden und wahlweise eine Schleife über das Ergebnis ausführen +#pg_listen -- einen Befehl für asynchrone Benachrichtigungsmitteilungen einsetzen oder ändern +#pg_on_connection_loss -- einen Befehl für unerwarteten Verbindungsverlust einsetzen oder ändern +#pg_lo_creat -- ein Large Object erzeugen +#pg_lo_open -- ein Large Object öffnen +#pg_lo_close -- ein Large Object schließen +#pg_lo_read -- aus einem Large Object lesen +#pg_lo_write -- in ein Large Object schreiben +#pg_lo_lseek -- den Positionszeiger eines Large Object setzen +#pg_lo_tell -- den aktuellen Positionszeiger eines Large Object zurückgeben +#pg_lo_unlink -- ein Large Object löschen +#pg_lo_import -- ein Large Object aus einer Datei importieren +#pg_lo_export -- ein Large Object in eine Datei exportieren +proc requirePaket {paket} { + if {[catch "package require ${paket}" fid]} { + tk_messageBox -type ok -icon warning \ + -message "Das Paket $paket fehtl. Bitte installieren." + exit 1 + } +} + +proc do_DBconnect {} { + global CONN + catch { + set CONN [pg_connect gis_egs_d -host workepdevel113 -user gis_egs_d -password u4jw8xecj] + } + if { [info exists CONN] && [string first pgsql $CONN] != 0 } { return 0 } + return 1 +} + + +proc do_DBclose {} { + global CONN + if { [info exists CONN] } { + catch { + pg_disconnect $CONN + } + } + unset CONN + return 1 +} + +proc do_SQLsearch { a b } { + catch { + set result [pg_exec $a $b] + } + if { ![info exists result] } { + return 0 + } elseif { [pg_result $result -status] != "PGRES_TUPLES_OK"} { + puts "[pg_result $result -status]" + return 0 + } + return $result +} +requirePaket Pgtcl +do_DBconnect +#set search "m:* müll" +#set ret [do_SQLsearch $CONN "select * from modwork_isu_isu where gp_name like '%ller%'";] +#set ret [do_SQLsearch $CONN "SELECT \"modwork_isu_isu\".\"id\", \"modwork_isu_isu\".\"vertrag\", \"modwork_isu_isu\".\"vknr\", \"modwork_isu_isu\".\"gp_name\", \"modwork_isu_isu\".\"gpnr\", \"modwork_isu_isu\".\"verbrauchsstelle_strhnr\", \"modwork_isu_isu\".\"verbrauchsstelle_plzort\", \"modwork_isu_isu\".\"serialnr_erstes_geraet\", \"modwork_isu_isu\".\"bez_anschlussobj\", \"modwork_isu_isu\".\"abrechnungsklasse\", \"modwork_isu_isu\".\"vertragsende\", \"modwork_isu_isu\".\"buchungskreis_id\", \"modwork_isu_isu\".\"lieferant\", \"modwork_isu_isu\".\"vkonta\", \"modwork_isu_isu\".\"modified\", \"modwork_isu_isu\".\"quelle\", \"modwork_isu_isu\".\"zaehlpunkt\", \"modwork_isu_isu\".\"regiogroup_id\", \"modwork_isu_isu\".\"portion\", \"modwork_isu_isu\".\"ableinh\", \"modwork_isu_isu\".\"tariftyp_id\", \"modwork_isu_isu\".\"drgscen_id\", \"modwork_isu_isu\".\"serviceid_id\", \"modwork_isu_isu\".\"invoicing_party_id\", \"modwork_isu_isu\".\"service_id\", \"modwork_isu_isu\".\"billing_party_id\" FROM \"modwork_isu_isu\" WHERE content @@ '$search:*';"] +#set ret [do_SQLsearch $CONN "SELECT\ + \"modwork_isu_isu\".\"id\",\ + \"modwork_isu_isu\".\"vertrag\",\ + \"modwork_isu_isu\".\"vknr\",\ + \"modwork_isu_isu\".\"gp_name\",\ + \"modwork_isu_isu\".\"gpnr\",\ + \"modwork_isu_isu\".\"verbrauchsstelle_strhnr\",\ + \"modwork_isu_isu\".\"verbrauchsstelle_plzort\",\ + \"modwork_isu_isu\".\"serialnr_erstes_geraet\",\ + \"modwork_isu_isu\".\"bez_anschlussobj\",\ + \"modwork_isu_isu\".\"abrechnungsklasse\",\ + \"modwork_isu_isu\".\"vertragsende\",\ + \"modwork_isu_isu\".\"buchungskreis_id\",\ + \"modwork_isu_isu\".\"lieferant\",\ + \"modwork_isu_isu\".\"vkonta\",\ + \"modwork_isu_isu\".\"modified\",\ + \"modwork_isu_isu\".\"quelle\",\ + \"modwork_isu_isu\".\"zaehlpunkt\",\ + \"modwork_isu_isu\".\"regiogroup_id\",\ + \"modwork_isu_isu\".\"portion\",\ + \"modwork_isu_isu\".\"ableinh\",\ + \"modwork_isu_isu\".\"tariftyp_id\",\ + \"modwork_isu_isu\".\"drgscen_id\",\ + \"modwork_isu_isu\".\"serviceid_id\",\ + \"modwork_isu_isu\".\"invoicing_party_id\",\ + \"modwork_isu_isu\".\"service_id\",\ + \"modwork_isu_isu\".\"billing_party_id\"\ + FROM \"modwork_isu_isu\" WHERE content @@ '${search}:*';"] + +#set isu 238 +#set gpnr 256 + +#set ret [do_SQLsearch $CONN "SELECT\ +\"modwork_isu_isu\".\"vknr\",\ +\"modwork_isu_isu\".\"gp_name\",\ +\"modwork_isu_isu\".\"verbrauchsstelle_strhnr\",\ +\"modwork_isu_isu\".\"verbrauchsstelle_plzort\",\ +\"modwork_isu_isu\".\"gpnr\",\ +\"modwork_isu_isu\".\"vertrag\",\ +\"modwork_isu_isu\".\"serialnr_erstes_geraet\",\ +\"modwork_isu_isu\".\"vkonta\",\ +\"modwork_isu_isu\".\"bez_anschlussobj\",\ +\"modwork_isu_isu\".\"abrechnungsklasse\",\ +\"modwork_isu_isu\".\"vertragsende\",\ +\"modwork_isu_isu\".\"buchungskreis_id\",\ +\"modwork_isu_isu\".\"lieferant\",\ +\"modwork_isu_isu\".\"zaehlpunkt\",\ +\"modwork_isu_isu\".\"regiogroup_id\",\ +\"modwork_isu_isu\".\"portion\",\ +\"modwork_isu_isu\".\"ableinh\",\ +\"modwork_isu_isu\".\"tariftyp_id\",\ +\"modwork_isu_isu\".\"drgscen_id\",\ +\"modwork_isu_isu\".\"serviceid_id\"\ +FROM \"modwork_isu_isu\" where cast (vknr as char(32)) like '%${isu}%' or cast (gpnr as char(32)) like '%${isu}%' or cast (vertrag as char(32)) like '%isu%';"] + +set ret [do_SQLsearch $CONN "select s.id, s.name,o.name from gis_ort o, gis_strasse s where o.id=s.ort_id;" ] +puts "$ret" +if { [pg_result $ret -numTuples] > 0 } { + puts [pg_result $ret -numTuples] + puts [pg_result $ret -getTuple 0] +} +do_DBclose +exit +#öffnen der DB Verbindung +#set conn [pg_connect modwork_egs_d -host workepdevel113 -user modwork_egs_d_isusearch -password AdN:egsis] +if { [do_DBconnect] } { + puts "DB connection is good" +} else { + puts "DB connection is bad" + exit +} +#set abfrage "select * from modwork_isu_isu where gp_name like '%ller%';" +set erg [pg_exec $CONN $abfrage] +#set spaltennamem [pg_result $erg -attributes] +#puts $spaltennamem +puts [pg_result $erg -getTuple 0] +pg_disconnect $CONN +exit + +for {set x 0} {$x<[pg_result $erg -numTuples]} {incr x} { + set row "$x\t\t[pg_result $erg -getTuple $x]" + puts $row +} + + + + + + + + + +#Schließen der Datenbankverbindung +pg_disconnect $CONN diff --git a/printVertragsArt_aktion3000031.sh b/printVertragsArt_aktion3000031.sh new file mode 100755 index 0000000..3b045ae --- /dev/null +++ b/printVertragsArt_aktion3000031.sh @@ -0,0 +1,121 @@ +#!/bin/bash +logfile=~/log/printVertragsArt_aktion3000031.sh_$$.log + +textGelb="Sondervertrag meinERDGAS" +textBlau="Festpreis 10/2017" + +pointsize=30 +drawCoord="10,50" + +origverz=`pwd` + +pushd $origverz + +checkIsAktion() { + number=`cat $1 |grep OCR_CODE |cut -d" " -f2 |cut -d'/' -f 1` + length=${#number} + number=${number: -2} + if [ $length -ne 9 ]; then + return 3 + fi + #echo "number=${number: -2}" + if [ "${number}" == "01" -o "${number}" == "02" ]; then + #gelb bzw. Sondervertrag meinERDGAS + return 1 + else if [ "${number}" == "03" -o "${number}" == "04" ]; then + #blau bzw. Festpreis 10/2017 + return 2 + else + return 4 + fi + fi +} + +TarAndPrint() { + echo "$1 ########## $2 +++++++++ $origverz" + mkdir /tmp/entpacken.$$ + pushd /tmp/entpacken.$$ + echo "bearbeite: ${origverz}/${2}.tar" + tar xf ${origverz}/${2}.tar + for p in `ls *.png` + do + if [ "${1}" == "gelb" ];then + mogrify -pointsize $pointsize -fill '#D7DF01' -draw "text $drawCoord '${textGelb}'" *.png + else + if [ "${1}" == "blau" ];then + mogrify -pointsize $pointsize -fill blue -draw "text $drawCoord '${textBlau}'" *.png + fi + fi + done + tar cf test.tar *.png + echo "mv test.tar ${origverz}/${$}.tar" + mv test.tar ${origverz}/${2}.tar + popd + rm -rf /tmp/entpacken.$$ +} + +printOnPNG() { + curdir=`dirname $2` + #echo curdir=$curdir + if [ -e ${curdir}/modscan_ama_*1.png ]; then + echo "schon erledigt: $curdir" >> $logfile + return 1 + fi + cp -a $curdir/../modscan_ama_*1.png $curdir + echo "bearbeite ${curdir}" >> $logfile + for p in `ls $curdir/../modscan_ama_*1.png` + do + if [ "${1}" == "gelb" ];then + mogrify -pointsize $pointsize -fill '#D7DF01' -draw "text $drawCoord '${textGelb}'" $p + else + if [ "${1}" == "blau" ];then + mogrify -pointsize $pointsize -fill blue -draw "text $drawCoord '${textBlau}'" $p + fi + fi + done +} + +printAufVertrag() { + case "$1" in + "gelb") + #echo "printGelb auf Vertrag" + #TarAndPrint $1 $2 + printOnPNG $1 $2 + ;; + "blau") + #echo "printBlau auf Vertrag" + #TarAndPrint $1 $2 + printOnPNG $1 $2 + ;; + *) + echo "printAufVertrag: Fehler passiert" >> $logfile + esac +} + +for datFile in `find -type f -iname modscan_ama_\*.dat` +do + basename=`basename $datFile .dat` +# echo $basename + checkIsAktion $datFile + ret=$? +# echo ret=$ret + case $ret in + 1) + #echo "gelb" + #printAufVertrag gelb $basename + printAufVertrag gelb $datFile + ;; + 2) + #echo "blau" + #printAufVertrag blau $basename + printAufVertrag blau $datFile + ;; + 3) + echo "Aktion nio: $datFile" >> $logfile + ;; + *) + echo "Fehler: $datFile" >> $logfile + ;; + esac +done +popd diff --git a/repair_inffile.tcl b/repair_inffile.tcl new file mode 100755 index 0000000..6993694 --- /dev/null +++ b/repair_inffile.tcl @@ -0,0 +1,35 @@ +#!/usr/bin/tclsh + +set datei [lindex $argv 0] +set new_datei ${datei}.new +set regex_line "^IDX:S0809 " +set regex_isu "^IDX:ISUNR" +set regex_buchk "^IDX:BUCHK " +set first 0 + +set fd [open $datei r] +set new_fd [open ${new_datei} w] +while {[gets $fd line]>=0} { + if {([regexp ${regex_line} $line] || [regexp ${regex_isu} $line] || [regexp ${regex_buchk} $line])} { + if { $first == 0 } { + if {[regexp ${regex_line} $line]} { + regsub $regex_line $line "" newline + if {[regexp {[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]} [lindex $newline 1]]} { + set newline [lreplace $newline 0 0 Netz] + } else { + set newline [lreplace $newline 0 0 Vertrieb] + } + puts $new_fd "IDX:BUCHK [lindex $newline 12]" + puts $new_fd "IDX:S0809 $newline" + puts $new_fd "IDX:ISUNR [lindex $newline 1]" + puts $new_fd "IDX:ISUNR [lindex $newline 5]" + puts $new_fd "IDX:ISUNR [lindex $newline 6]" + set first 1 + } + } + } else { + puts $new_fd $line + } +} +close $fd +close $new_fd diff --git a/replaceOldKeys_EGS_Herbstaktion.sh b/replaceOldKeys_EGS_Herbstaktion.sh new file mode 100755 index 0000000..086a92f --- /dev/null +++ b/replaceOldKeys_EGS_Herbstaktion.sh @@ -0,0 +1,35 @@ +#!/bin/bash +PWD=`pwd` +#set -x +for e in 1 2 3 4 5 6 7 8 9 +do + case $e in + 1) + sed -i s/^Vertragskontonummer/ISUNR/ $PWD/*.dat + ;; + 2) + sed -i s/^Geschäftspartnernummer/ISUNR/ $PWD/*.dat + ;; + 3) + sed -i s/^Geschäftspartnername/ADRESSE_NAME/ $PWD/*.dat + ;; + 4) + sed -i s%^Str.\/HNr.\ Verbrauchstelle%KUNDE_ANLAGE_STRASSE% $PWD/*.dat + ;; + 5) + sed -i s%^PLZ\ \/\ Ort\ Verbrauchstelle%KUNDE_ANLAGE_ORT% $PWD/*.dat + ;; + 6) + sed -i s/^CSV-Rueckgabewert/CSV_RETURN_VALUE/ $PWD/*.dat + ;; + 7) + sed -i s/^CSV-Headers/CSV_HEADER/ $PWD/*.dat + ;; + 8) + sed -i s/^Vertragskontonummer/ISUNR/ $PWD/*.dat + ;; + 9) + sed -i s/Buchungskreis\ ID/BUCHK/ $PWD/*.dat + ;; + esac +done diff --git a/reversps b/reversps new file mode 100755 index 0000000..fb38837 Binary files /dev/null and b/reversps differ diff --git a/rsyncFilesToWorkflow.sh b/rsyncFilesToWorkflow.sh new file mode 100755 index 0000000..544f4ca --- /dev/null +++ b/rsyncFilesToWorkflow.sh @@ -0,0 +1,42 @@ +#!/bin/bash +MAX=10 +#COMMONOPT="-av --remove-source-files --bwlimit=50k" +COMMONOPT="-av --remove-source-files" +filesToTranfer=$1 +userAtHost=$2 +directory=$3 +parameter=$# +PWD=`pwd` +IDENTITY="-e ssh -i /home/mhoellein/.ssh/id_rsa_workflow_server" +IDENTITY=" " + +dosync() { + echo "------------------------------------------------------------------" + echo "$1" + echo "$2" + NOCHMAL=1 + COUNT=1 + while [ $NOCHMAL -eq 1 -a $COUNT -le $MAX ]; do + rsync $COMMONOPT $IDENTITY ${PWD}/${filesToTranfer}* ${userAtHost}:${directory} 2>&1 | tee ${PWD}/rsync.stat + grep "Number of files transferred: 0" ${PWD}/rsync.stat > /dev/null + NOCHMAL=$? + let COUNT++ + [ $NOCHMAL -eq 1 ] && sleep 6 + done + rm -f ${PWD}/rsync.stat +} +usage() { + echo "$0 filesToTransfer userAtHost directory" + echo "$0 modscan_ama modwork_fm_p@vis-work import/" +} +checkParams() { + echo "parameter=$parameter" + echo "filesToTranfer=$filesToTranfer" + echo "userAtHost=$userAtHost" + if [ ${parameter} -ne 3 ];then + usage + else + dosync + fi +} +checkParams diff --git a/rsync_lkw.sh b/rsync_lkw.sh new file mode 100755 index 0000000..817f9fe --- /dev/null +++ b/rsync_lkw.sh @@ -0,0 +1,19 @@ +#!/bin/bash +MAX=10 + +dosync() { + echo "------------------------------------------------------------------" + echo "$1" + echo "$2" + NOCHMAL=1 + COUNT=1 + while [ $NOCHMAL -eq 1 -a $COUNT -le $MAX ]; do + rsync -av --remove-source-files modscan_ama* modwork_fm_p@vis-work:import/ 2>&1 | tee rsync.stat +# rsync $COMMONOPT $2 $3 2>&1 | tee rsync.stat + grep "Number of files transferred: 0" rsync.stat > /dev/null + NOCHMAL=$? + let COUNT++ + [ $NOCHMAL -eq 1 ] && sleep 6 + done +} +dosync diff --git a/sampledata.csv1 b/sampledata.csv1 new file mode 100644 index 0000000..11cb3fa --- /dev/null +++ b/sampledata.csv1 @@ -0,0 +1 @@ +1,1,name,1,vsstrhnr,vsplzort,serial,bezansch,ak,11.11.1978,5300,lief,kae diff --git a/sapsplit b/sapsplit new file mode 100755 index 0000000..0555989 --- /dev/null +++ b/sapsplit @@ -0,0 +1,46 @@ +#!/usr/bin/tclsh + + +proc usage {} { + puts "sapsplit -f spalte\[-spalte\]" + puts " cat datei | sapsplit -f 1" + puts " cat datei | sapsplit -f 4-6" + puts "sapsplit -s" + puts " cat datei | sapsplit -s" + exit 1 +} + +#if { ${argc} == 0 } { +# usage +#} else { +# puts "$argv" +# exit +#} + +proc split_csv {line} { + set csv_list {} + while {[string length $line] > 0} { + if [regexp "^\\^\[^^\]*\\^" $line ausdruck] { + lappend csv_list [string range $ausdruck 1 end-1] + set line [string range $line [expr [string length $ausdruck]+1] end] + } else { + return $csv_list + } + } + return $csv_list +} + + +proc showSpaltenNR {} { + if {[gets stdin line]>=0} { + for {set x 0} {$x < [llength [split_csv $line]]} { incr x }{ + puts "[expr ${x}+1] [lindex [split_csv $line] $x]" + } + } +} + +while {[gets stdin line]>=0} { + #puts "[lindex [split_csv $line] [expr [lindex $argv 0]-1]]" + puts "[string trimleft [lindex [split_csv $line] [expr [lindex $argv 0]-1]] " "]" + #puts "[string trimleft [lindex [split_csv $line] [expr [lindex $argv 0]-1]] " "];[string trimleft [lindex [split_csv $line] [expr [lindex 77 0]-1]] 0]" +} diff --git a/scancmd b/scancmd new file mode 100755 index 0000000..2550515 --- /dev/null +++ b/scancmd @@ -0,0 +1,215 @@ +#!/bin/bash +# $Id: scancmd,v 1.11 2006/10/09 07:39:35 mhoellein Exp $ +# $Source: /develop/modscan2/common/bin/scancmd,v $ +LOGFILE=/home/modscan/log/lastscan.log +SOURCE=ADF +DPI=150 +MODUS=Lineart +WPATH=/tmp +FNAME=scanout +B=210 +H=297 +L=0 +usage () { + echo "usage: $0 [-s ADF|FB] [-r dpi] [-m mode] [-p path] [-o filename] [-A4|-A4+|-A5|-A6|-A6_rot|-A5q|-A6q|-A6q_rot|-x]" + echo + exit +} + +[ -z "$1" ] && usage +while [ -n "$1" ] ; do + case $1 in + -s) SOURCE=${2} ; shift ; shift ;; + -r) DPI=${2} ; shift ; shift ;; + -p) WPATH=${2} ; shift ; shift ;; + -o) FNAME=${2} ; shift ; shift ;; + -m) MODUS=${2} ; shift ; shift ;; + -A4|-a4) B=210.0; H=297.0; L=0.00; shift ;; + -A4+|-a4+) B=210.0; H=310.0; L=0.00; shift ;; + -A5|-a5) B=148.5; H=210.0; L=30.75; shift ;; + -A6|-a6) B=105.0; H=148.5; L=52.50; shift ;; + -A6q|-a6q) B=148.5; H=105.0; L=30.75; shift ;; + -A6_rot|-a6_rot) B=105.0; H=148.5; L=52.50; shift ;; + -A6q_rot|-a6q_rot) B=148.5; H=105.0; L=30.75; shift ;; + -A5q|-a5q) B=210.0; H=148.5; L=0.00; shift ;; + -*[0-9][xX][0-9]*) + H=`echo $1 | sed -e"s/-\([0-9][0-9]*\)[xX].*/\1/"` H=`echo "$H*10.0" | bc`; + B=`echo $1 | sed -e"s/-.*[xX]\([0-9][0-9]*\).*/\1/"` B=`echo "$B*10.0" | bc`; + L=`echo "(210.0-$B)/2.0" | bc`; + if [ `echo "210.0<$B" | bc` -eq 1 ];then usage;fi; shift ;; + *) usage ;; + esac +done +echo "" > ${LOGFILE} +echo "SOURCE=$SOURCE DPI=$DPI WPATH=$WPATH FNAME=$FNAME MODUS=$MODUS B=$B L=$L H=$H" >> ${LOGFILE} +if [ -n "${WPATH}" ]; then + if [ ! -d ${WPATH} ]; then + echo "Path $WPATH not an directory." + usage + else + /usr/bin/touch ${WPATH}/testtest + if [ ! -f ${WPATH}/testtest ]; then + echo "Cannot create files in $WPATH." + usage + else + /bin/rm -f $WPATH/testtest + fi + fi +else + WPATH=. +fi +cd $WPATH + + +# dropoutcolor setzen +if [ $MODUS == "Red" ]; then devopts="$devopts --dropoutcolor Red"; fi; +if [ $MODUS == "Green" ]; then devopts="$devopts --dropoutcolor Green"; fi; +if [ $MODUS == "Blue" ]; then devopts="$devopts --dropoutcolor Blue"; fi; +# Modusalias auflösen +if [ $MODUS == "Contrast" ]; then MODUS=Gray; fi; +if [ $MODUS == "Red" ]; then MODUS=Gray; fi; +if [ $MODUS == "Blue" ]; then MODUS=Gray; fi; +if [ $MODUS == "Green" ]; then MODUS=Gray; fi; +echo "MODUS=$MODUS" >> ${LOGFILE} +INVERT=0; + +# Scannerdevice und Typ +#device `fujitsu:/dev/sg0' is a FUJITSU fi-4340Cd scanner -> Farbe +#devopts="--sleeptimer=1 --dropoutcolor Red" +#device `fujitsu:/dev/sg0' is a FUJITSU M3093DGdm scanner -> S/W +scanimageversion=`scanimage --version | cut -d" " -f3 | sed -e "s%\;$%%"` 2>> ${LOGFILE} +deviceline=`scanimage --formatted-device-list="%t device=%d model=%v%m" | grep -e"^scanner device=" | head -1` 2>> ${LOGFILE} +device=`echo $deviceline | sed -e "s/^scanner device=\(.*\) model=.*$/\1/"` 2>> ${LOGFILE} +model=`echo $deviceline | sed -e "s/^scanner device=.* model=\(.*\)$/\1/"` 2>> ${LOGFILE} +echo "device=$device" >> ${LOGFILE} +echo "model=$model" >> ${LOGFILE} + +case $model in + "FUJITSUfi-4340Cd") devopts="--device $device --sleeptimer 5 $devopts"; + if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ] + then + devopts="$devopts --rif yes" + INVERT=0 + else + devopts="$devopts" + INVERT=0 + fi;; + "FUJITSUfi-4220Cdj")devopts="--device=$device --sleeptimer=5 $devopts"; + if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ] + then + devopts="$devopts --rif=yes" + INVERT=0 + else + devopts="$devopts" + INVERT=0 + fi;; + "FUJITSUM3092DCd") devopts="--device=$device $devopts"; + # SuSE 9.3, sane-1.0.15 + if [ $MODUS == "Gray" -o $MODUS == "Color" ]; then INVERT=1; fi; + if [ $MODUS == "Lineart" ]; then devopts="$devopts --rif=yes";INVERT=0; fi;; + "FUJITSUM3093DGdm") devopts="--device=$device $devopts"; + if [ $MODUS == "Color" ]; then MODUS=Gray; fi; + if [ $MODUS == "Gray" ]; then INVERT=1; fi;; + *) echo "Unbekannter Gerätetyp $typ";exit 0;; +esac + +if [ "`cat /etc/SuSE-release |grep VERSION | cut -d\"=\" -f2 |sed -e \"s/ //g\"`" == "10.2" ]; then + echo "10.2" >> ${LOGFILE} +else + echo "was anderes" >> ${LOGFILE} +fi +# Papierquelle / Duplex / Papierformat +case $SOURCE in + ADF)srcopts="ADF Duplex"; + fmtopts="-x $B -y $H -l $L";; + FB) srcopts="Flatbed"; + fmtopts="-x $B -y $H";; + *) usage;; +esac + +umask 0002 +#echo "scanimage $devopts $srcopts $fmtopts --mode=${MODUS} --resolution=${DPI} --batch=out%d.tif --batch-count=1" >> ${LOGFILE} +echo -e "scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 1" >> ${LOGFILE} +if [ "$SOURCE" == "ADF" ]; then + scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 2 2>> ${LOGFILE} +else + scanadf $devopts --source "$srcopts" $fmtopts --mode ${MODUS} --resolution ${DPI} -s1 -e 1 2>> ${LOGFILE} +fi +RET=$? +sync +# SANE_STATUS_GOOD = 0, /* everything A-OK */ +# SANE_STATUS_UNSUPPORTED, /* operation is not supported */ +# SANE_STATUS_CANCELLED, /* operation was cancelled */ +# SANE_STATUS_DEVICE_BUSY, /* device is busy; try again later */ +# SANE_STATUS_INVAL, /* data is invalid (includes no dev at open) */ +# SANE_STATUS_EOF, /* no more data available (end-of-file) */ +# SANE_STATUS_JAMMED, /* document feeder jammed */ +# SANE_STATUS_NO_DOCS, /* document feeder out of documents */ +# SANE_STATUS_COVER_OPEN, /* scanner cover is open */ +# SANE_STATUS_IO_ERROR, /* error during device I/O */ +# SANE_STATUS_NO_MEM, /* out of memory */ +# SANE_STATUS_ACCESS_DENIED /* access to resource has been denied */ +if [ -e "image-0001" ] +then + size=`filesize image-0001` + if [ $size -lt 40000 ] + then + RET=12 + fi +fi +echo "RET=$RET" >> ${LOGFILE} +echo "------------------------" >> ${LOGFILE} +case $RET in + 0) + if [ -n "${FNAME}" -a $RET -eq 0 ]; then + if [ $INVERT -eq 0 ] + then + if [ $SOURCE == "ADF" ];then + echo "ADF wurde gescannt, invert=$INVERT" >> ${LOGFILE} + convert image-0001 image-0001.tif + mv image-0001.tif image-0001 + mv -f image-0001 ${FNAME}_f.tif + convert image-0002 image-0002.tif + mv image-0002.tif image-0002 + mv -f image-0002 ${FNAME}_b.tif + else + echo "FB wurde gescannt, invert=$INVERT" >> ${LOGFILE} + convert image-0001 image-0001.tif + mv image-0001.tif image-0001 + mv -f image-0001 ${FNAME}.tif + fi + else + if [ $SOURCE == ADF ];then + echo "ADF wurde gescannt" >> ${LOGFILE} + convert image-0001 image-0001.tif + mv image-0001.tif image-0001 + tifftopnm image-0001 2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}_f.tif + tifftopnm image-0002 2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}_b.tif + rm -f image-0001 image-0002 2>> ${LOGFILE} + else + echo "FB wurde gescannt" >> ${LOGFILE} + convert image-0001 image-0001.tif + echo "image-0001 wurde von convert in image-0001.tif gewandelt" >> ${LOGFILE} + tifftopnm image-0001 2>> ${LOGFILE} | pnminvert 2>> ${LOGFILE} | pnmtotiff 2>> ${LOGFILE} > ${FNAME}.tif + rm -f image-0001 2>> ${LOGFILE} + fi + fi + else + echo "Fehler bei der Bildverarbeitung, bitte noch einmal versuchen." + fi + ;; + 1) echo "Ungültige Operation ausgelöst." ;; + 2) echo "Abbruch durch Benutzer." ;; + 3) echo "Scanner ist beschäftigt. Versuchen Sie es später nocheinmal." ;; + 4) echo "Ungültige Daten empfangen." ;; + 5) echo "Abbruch der Datenkommunikation zwischen Scanner und Hostsystem." ;; + 6) echo "Papierstau: Bitte entnehmen Sie das Scanmaterial, ordnen es und legen es erneut an." ;; + 7) echo "Keine Dokumente zum Scannen angelegt." ;; + 8) echo "Deckel des Scanners ist offen. Deckel schließen und erneut versuchen." ;; + 9) echo "Fehler während der Kommunkation mit dem Scanner." ;; + 10) echo "Es steht der Anwendung kein weiterer Speicher zur Verfügung." ;; + 11) echo "Zugriff zum Scanner verweigert." ;; + 12) echo "Bildgröße fehlerhaft, bitte Blatt noch einmal scannen." ;; + *) echo "Fehlercode=$RET" ;; +esac +exit 0 diff --git a/scancmd_adf b/scancmd_adf new file mode 100755 index 0000000..3141b54 --- /dev/null +++ b/scancmd_adf @@ -0,0 +1,187 @@ +#!/bin/sh +# $Id: scancmd,v 1.9 2005/09/09 09:31:23 hmatthes Exp $ +# $Source: /develop/modscan2/common/bin/scancmd,v $ +SOURCE=ADF +DPI=150 +MODUS=Lineart +WPATH=/tmp +FNAME=scanout +B=210 +H=297 +L=0 + +usage () { + echo "usage: $0 [-s ADF|FB] [-r dpi] [-m mode] [-p path] [-o filename] [-A4|-A4+|-A5|-A6|-A6_rot|-A5q|-A6q|-A6q_rot|-x]" + echo + exit +} + +[ -z "$1" ] && usage +while [ -n "$1" ] ; do + case $1 in + -s) SOURCE=${2} ; shift ; shift ;; + -r) DPI=${2} ; shift ; shift ;; + -p) WPATH=${2} ; shift ; shift ;; + -o) FNAME=${2} ; shift ; shift ;; + -m) MODUS=${2} ; shift ; shift ;; + -A4|-a4) B=210.0; H=297.0; L=0.00; shift ;; + -A4+|-a4+) B=210.0; H=310.0; L=0.00; shift ;; + -A5|-a5) B=148.5; H=210.0; L=30.75; shift ;; + -A6|-a6) B=105.0; H=148.5; L=52.50; shift ;; + -A6q|-a6q) B=148.5; H=105.0; L=30.75; shift ;; + -A6_rot|-a6_rot) B=105.0; H=148.5; L=52.50; EGS=0; shift ;; + -A6q_rot|-a6q_rot) B=148.5; H=105.0; L=30.75; EGS=0; shift ;; + -A5q|-a5q) B=210.0; H=148.5; L=0.00; shift ;; + -*[0-9][xX][0-9]*) + H=`echo $1 | sed -e"s/-\([0-9][0-9]*\)[xX].*/\1/"` H=`echo "$H*10.0" | bc`; + B=`echo $1 | sed -e"s/-.*[xX]\([0-9][0-9]*\).*/\1/"` B=`echo "$B*10.0" | bc`; + L=`echo "(210.0-$B)/2.0" | bc`; + if [ `echo "210.0<$B" | bc` -eq 1 ];then usage;fi; shift ;; + *) usage ;; + esac +done + +if [ -n "${WPATH}" ]; then + if [ ! -d ${WPATH} ]; then + echo "Path $WPATH not an directory." + usage + else + /usr/bin/touch ${WPATH}/testtest + if [ ! -f ${WPATH}/testtest ]; then + echo "Cannot create files in $WPATH." + usage + else + /bin/rm -f $WPATH/testtest + fi + fi +else + WPATH=. +fi +cd $WPATH + +echo "" > ${FNAME}.log + +# dropoutcolor setzen +if [ $MODUS == "Red" ]; then devopts="$devopts --dropoutcolor Red"; fi; +if [ $MODUS == "Green" ]; then devopts="$devopts --dropoutcolor Green"; fi; +if [ $MODUS == "Blue" ]; then devopts="$devopts --dropoutcolor Blue"; fi; +# Modusalias auflösen +if [ "$MODUS" = "Contrast" ];then MODUS=Gray; fi +if [ "$MODUS" = "Red" ];then MODUS=Gray; fi +if [ "$MODUS" = "Blue" ];then MODUS=Gray; fi +if [ "$MODUS" = "Green" ];then MODUS=Gray; fi +INVERT=0; + +# Scannerdevice und Typ +#device `fujitsu:/dev/sg0' is a FUJITSU fi-4340Cd scanner -> Farbe +#devopts="--sleeptimer 1 --dropoutcolor Red" +#device `fujitsu:/dev/sg0' is a FUJITSU M3093DGdm scanner -> S/W +scanimageversion=`scanimage --version | cut -d" " -f3 | sed -e "s%\;$%%"` 2>> ${FNAME}.log +deviceline=`scanimage --formatted-device-list="%t device=%d model=%v%m" | grep -e"^scanner device=" | head -1` 2>> ${FNAME}.log +device=`echo $deviceline | sed -e "s/^scanner device=\(.*\) model=.*$/\1/"` 2>> ${FNAME}.log +model=`echo $deviceline | sed -e "s/^scanner device=.* model=\(.*\)$/\1/"` 2>> ${FNAME}.log +case $model in + "FUJITSUfi-4340Cd") devopts="--device-name $device --sleeptimer 5 $devopts"; + if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ] + then + devopts="$devopts --rif yes" + INVERT=0 + else + devopts="$devopts" + INVERT=0 + fi;; + "FUJITSUfi-4220Cdj")devopts="--device-name $device --sleeptimer 5 $devopts"; + if [ $MODUS == "Gray" -a "$scanimageversion" = "1.0.13" ] + then + devopts="$devopts --rif=yes" + INVERT=0 + else + devopts="$devopts" + INVERT=0 + fi;; + "FUJITSUM3092DCd") devopts="--device-name $device $devopts"; + # SuSE 9.3, sane-1.0.15 + if [ $MODUS == "Gray" -o $MODUS == "Color" ]; then INVERT=1; fi; + if [ $MODUS == "Lineart" ]; then devopts="$devopts --rif=yes";INVERT=0; fi;; + "FUJITSUM3093DGdm") devopts="--device-name $device $devopts"; + if [ $MODUS == "Color" ]; then MODUS=Gray; fi; + if [ $MODUS == "Gray" ]; then INVERT=1; fi;; + *) echo "Unbekannter Gerätetyp $typ";exit 0;; +esac + +# Papierquelle / Duplex / Papierformat +case $SOURCE in + ADF) cntopts="--start-count 1 --end-count 2"; + srcopts="--source ADF --duplex both"; + fmtopts="-x $B -y $H -l $L";; + FB) cntopts="--start-count 1 --end-count 1"; + srcopts="--source FB"; + fmtopts="-x $B -y $H";; + *) usage;; +esac + +umask 0002 +echo "scanadf $devopts $srcopts $fmtopts --mode ${MODUS} --resolution ${DPI} --output-file out%d --start-count 1" >> ${FNAME}.log +scanadf $devopts $srcopts $fmtopts $cntopts \ + --mode ${MODUS} --resolution ${DPI} \ + --output-file out%d 1> scanner.out 2> scanner.err +RET=$? +sync + +if [ $RET==0 -a ! -f out1 ]; +then + RET=7 +fi +# SANE_STATUS_GOOD = 0, /* everything A-OK */ +# SANE_STATUS_UNSUPPORTED, /* operation is not supported */ +# SANE_STATUS_CANCELLED, /* operation was cancelled */ +# SANE_STATUS_DEVICE_BUSY, /* device is busy; try again later */ +# SANE_STATUS_INVAL, /* data is invalid (includes no dev at open) */ +# SANE_STATUS_EOF, /* no more data available (end-of-file) */ +# SANE_STATUS_JAMMED, /* document feeder jammed */ +# SANE_STATUS_NO_DOCS, /* document feeder out of documents */ +# SANE_STATUS_COVER_OPEN, /* scanner cover is open */ +# SANE_STATUS_IO_ERROR, /* error during device I/O */ +# SANE_STATUS_NO_MEM, /* out of memory */ +# SANE_STATUS_ACCESS_DENIED /* access to resource has been denied */ +case $RET in + 0) + if [ -n "${FNAME}" -a $RET -eq 0 ]; then + if [ $INVERT -eq 0 ] + then + if [ $SOURCE == ADF ];then + pnmtotiff out1 2>> ${FNAME}.log > ${FNAME}_f.tif + pnmtotiff out2 2>> ${FNAME}.log > ${FNAME}_b.tif + rm -f out1 out2 2>> ${FNAME}.log + else + pnmtotiff out1 2>> ${FNAME}.log > ${FNAME}.tif + rm -f out1 2>> ${FNAME}.log + fi + else + if [ $SOURCE == ADF ];then + pnminvert out1 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}_f.tif + pnminvert out2 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}_b.tif + rm -f out1 out2 2>> ${FNAME}.log + else + pnminvert out1 2>> ${FNAME}.log | pnmtotiff 2>> ${FNAME}.log > ${FNAME}.tif + rm -f out1 2>> ${FNAME}.log + + fi + fi + fi + ;; + 1) ERRMSG=$(grep "scanadf: sane_start:" scanner.err | sed -e"s/scanadf: sane_start: *//") + echo "$ERRMSG" ;; + 2) echo "Abbruch durch Benutzer." ;; + 3) echo "Scanner ist beschäftigt. Versuchen Sie es später nocheinmal." ;; + 4) echo "Ungültige Daten empfangen." ;; + 5) echo "Abbruch der Datenkommunikation zwischen Scanner und Hostsystem." ;; + 6) echo "Papierstau: Bitte entnehmen Sie das Scanmaterial, ordnen es und legen es erneut an." ;; + 7) echo "Keine Dokumente zum Scannen angelegt." ;; + 8) echo "Deckel des Scanners ist offen. Deckel schließen und erneut versuchen." ;; + 9) echo "Fehler während der Kommunkation mit dem Scanner." ;; + 10) echo "Es steht der Anwendung kein weiterer Speicher zur Verfügung." ;; + 11) echo "Zugriff zum Scanner verweigert." ;; + *) echo "Fehlercode=$RET" ;; +esac +exit 0 diff --git a/scanneron b/scanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/scanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/script.sh b/script.sh new file mode 100755 index 0000000..27925fb --- /dev/null +++ b/script.sh @@ -0,0 +1,5 @@ +#!/bin/bash +while [ 1 ] +do + sleep 4 +done diff --git a/search_force.sh b/search_force.sh new file mode 100755 index 0000000..36cabf0 --- /dev/null +++ b/search_force.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +ARCHIVDIR=/home/modarch/archiv/scan +DATENFILE=/tmp/isu_kadis_abzug +count=0 +for i in `find $ARCHIVDIR -type f -name \*.dat | xargs egrep "^NOTE" |cut -d":" -f1` +do + S0001="" + S0002="" + S0005="" + S0010="" + S0070="" + S0100="" + S0120="" + S0230="" + S0240="" + S0300="" + S0800="" + S0801="" + S0802="" + S0809="" + S9000="" + ISUNR1="" + ISUNR2="" + ISUNR3="" + NOTE="" + S9995="" + #echo ${i} wird bearbeitet + #Sicherung anlegen + #cp ${i} ${i}.search_force.save + linecount=1 + while read line + do + line[$linecount]=${line} + ((linecount++)) + done < ${i} + + S0001=`echo "${line[1]}" |cut -d" " -f2-` + S0002=`echo "${line[2]}" |cut -d" " -f2-` + S0005=`echo "${line[3]}" |cut -d" " -f2-` + S0010=`echo "${line[4]}" |cut -d" " -f2-` + S0070=`echo "${line[5]}" |cut -d" " -f2-` + S0100=`echo "${line[6]}" |cut -d" " -f2-` + S0120=`echo "${line[7]}" |cut -d" " -f2-` + S0230=`echo "${line[8]}" |cut -d" " -f2-` + S0240=`echo "${line[9]}" |cut -d" " -f2-` + S0300=`echo "${line[10]}" |cut -d" " -f2-` + S0800=`echo "${line[11]}" |cut -d" " -f2-` + S0801=`echo "${line[12]}" |cut -d" " -f2-` + S0802=`echo "${line[13]}" |cut -d" " -f2-` + S0809=`echo "${line[14]}" |cut -d" " -f2-` + S9000=`echo "${line[15]}" |cut -d" " -f2-` + ISUNR1=`echo "${line[16]}" |cut -d" " -f2-` + ISUNR2=`echo "${line[17]}" |cut -d" " -f2-` + ISUNR3=`echo "${line[18]}" |cut -d" " -f2-` + NOTE=`echo "${line[19]}" |cut -d" " -f2-` + S9995=`echo "${line[20]}" |cut -d" " -f2-` + #echo "${S0001} ${S0002} ${S0005} ${S0010}" + if [ -z "${S0001}" -o -z "${S0002}" -o -z "${S0005}" -o -z "${S0010}" ] + then + echo "Fehler in KEYS S0001-S0010" + fi + if [ -z "${S0070}" ] + then + echo "KAE in Datei ${i} leer" + fi + #echo -e "${S0100}\n${S0120}\n${S0230}\n${S0240}\n${S0300}\n${ISUNR1}\n${ISUNR2}\n${ISUNR3}\n" + if [ "${S0100}" != "S0100" -a "${S0120}" != "S0120" -a "${S0230}" != "S0230" -a "${S0240}" != "S0240" -a "${S0300}" != "S0300" -a "${ISUNR1}" != "ISUNR" -a "${ISUNR2}" != "ISUNR" -a "${ISUNR3}" != "ISUNR" ] + then + ((count++)) + if [ "${S0070}" != "S0070" ] + then + echo -e "$S0005\n$S0010\n$S0070\n$S0120\n$S0230\n$S0240\n#" + else + echo -e "$S0005\n$S0010\n$S0120\n$S0230\n$S0240\n#" + fi + #echo "NOK:(alles da) NOTE ist unberechtigt in $i" + else + hallo=j + #echo "OK:(irgendwas leer) NOTE ist berechtigt in $i" + fi +done +echo $count diff --git a/sepa_ocr.sh b/sepa_ocr.sh new file mode 100755 index 0000000..072a625 --- /dev/null +++ b/sepa_ocr.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +#clean /tmp/ +rm -rf /tmp/*snip*.png + +#selbst gescannte +#X=872 +#Y=2042 +#dX=1402 +#dY=142 + + +#eins aktion kleine bilder +#X=440 +#Y=1050 +#dX=660 +#dY=75 + +#scan aktuell +X=540 +Y=1350 +dX=930 +dY=110 + +PWD=$(pwd) + +SETCOLOR_SUCCESS="echo -en \\033[1;32m" +SETCOLOR_FAILURE="echo -en \\033[1;31m" +SETCOLOR_NORMAL="echo -en \\033[0;39m" + +OCR_BIN="/home/modscan/ocr/ocr-ausschnitt-rep" +OCR_REC="/home/modscan/ocr/handde.rec" + + +OCR_OPTION_1="" +OCR_OPTION_1=" -grid-hline-min 40" +OCR_OPTION_2="" +OCR_OPTION_2=" -char-height-min 25" +OCR_OPTION_3="" +OCR_OPTION_3=" -char-space-min 10" +OCR_OPTION_4="" +OCR_OPTION_4=" -redo" +OCR_OPTION_5=" -subimage 540 1350 1470 1460" + +O_CONVERT_1="" +#O_CONVERT_1=" -enhance" +O_CONVERT_2="" +#O_CONVERT_2=" -blur 1x1" +O_CONVERT_3="" +#O_CONVERT_3=" -enhance -enhance" +O_CONVERT_4="" +O_CONVERT_4="" + +OK=0 + +for p in `ls ${PWD}/*.png` +do + RET="7890" + #convert -crop ${dX}x${dY}+${X}+${Y} $O_CONVERT_1 $O_CONVERT_2 $O_CONVERT_3 $O_CONVERT_4 $p `basename ${p} .png`_snip.png +# cp -f `basename ${p} .png`_snip.png /tmp/ + #cat `basename ${p} .png`_snip.pnm |pnmdepth 8 |pnmtopng > `basename ${p} .png`_snip.png + #convert -depth 8 `basename ${p} .png`_snip.png `basename ${p} .png`_snip.jpg + #convert `basename ${p} .png`_snip.jpg `basename ${p} .png`_snip.png + PNG_BASE=`basename $p .png` + #RET=`$OCR_BIN ${PNG_BASE}_snip.png $OCR_REC 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 $OCR_OPTION_5|tail -n2|sed -e "s/ *//g" -e "s/~//g" |grep -v '^$'` + RET=`$OCR_BIN ${PNG_BASE}.png $OCR_REC 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 $OCR_OPTION_5|tail -n2|sed -e "s/ *//g" -e "s/~//g" |grep -v '^$'` + #RET=$(/home/modscan/ocr/ocr-ausschnitt-rep `basename $p .png`_snip.png /home/modscan/ocr/handde.rec 'D_E_0_1_2_3_4_5_6_7_8_9_' $OCR_OPTION_1 $OCR_OPTION_2 $OCR_OPTION_3 $OCR_OPTION_4 |tail -n2) + RET=`echo ${RET:2:30} |sed -e "s/D/0/g"` + #RET=`echo $RET |sed -e "s/^../DE/"` + RET=DE$RET + echo "ERKANNT: >${RET}<" + #echo "IST: >`basename $p .png`<" +# if [ "$RET" == "$PNG_BASE" ]; then + java -jar /home/mhoellein/iban.jar $RET + if [ $? -eq 3 ]; then + $SETCOLOR_SUCCESS + echo OK + ((OK++)) + else + $SETCOLOR_FAILURE + echo FEHLER + fi + $SETCOLOR_NORMAL +done + +echo "Erkannt: $OK" + + +#for o in `ls ${PWD}/*_snip.png` +#do + +#done +mv ${PWD}/*_snip.png /tmp/ + +#rm -rf ${PWD}/*_snip.png diff --git a/sh_test.sh b/sh_test.sh new file mode 100755 index 0000000..674cebb --- /dev/null +++ b/sh_test.sh @@ -0,0 +1,26 @@ +#!/bin/sh +line[0]="null" +line[1]="eins" + +echo ${line[0]} +echo $line[1] +echo $line +echo $line[2] + + +S1="test" +S2="" + +if [ "${S1}" = "" ] +then + echo "S1 ist leer" +else + echo "S1 ist nicht leer" +fi + +if [ "${S2}" = "1" -o "${S1}" = "" ] +then + echo "S2 ist leer" +else + echo "S2 ist nicht leer" +fi diff --git a/sonderfaelle_egs_herbstaktion.sh b/sonderfaelle_egs_herbstaktion.sh new file mode 100755 index 0000000..63fe2c3 --- /dev/null +++ b/sonderfaelle_egs_herbstaktion.sh @@ -0,0 +1,75 @@ +#!/bin/bash +#set -x +INCOMMING='/home/mhoellein/Aktionen/EGS/Herbstatktion/incomming/' +export PWD=`pwd` + +findOriginalFile() { + result=`grep -ri --include='*.id' $1 $INCOMMING` + echo $result +} + +applyPatchToNewDat() { + mkdir -p $PWD/$$/modwork_qrcode/ + cp $PWD/*.dat $PWD/$$/modwork_qrcode/ + sed -i "s#\(MW_ID.*\)#ORIG_\1\\nMW_ID#" $PWD/$$/modwork_qrcode/*.dat +} + +applyPatchToOriginalFiles() { +# $1 - file +# $2 - MW_ID + o_file=`mktemp` + echo $o_file + while read line + do + if [ `echo $line|grep -c "ERFASSUNG_HOST"` -gt 0 ]; then + echo -e "${line}\nSTATE geloescht\nMW_ID $2" >> $o_file + else + echo ${line} >> $o_file + fi + done<$1 +# echo "o_file=$o_file" +# echo "\$1=$1" + basename=`basename $1 .dat` +# echo basename=$basename + newfilename="${basename}_up_" +# echo newfilename=$newfilename + date=`date +%Y%m%d_%H%M%S` +# echo date=$date + newfilename="${newfilename}${date}" +# echo newfilename=$newfilename + outfile="$PWD/$$/${newfilename}.dat" +# echo outfile=$outfile + #mv $o_file $PWD/$$/`basename $1 |sed -e s/\.dat/_up_$(date +%Y%m%d_%H%M%S).dat/` +# echo $o_file $PWD/$$/`basename $1 |sed -e s/\.dat$/_up_$(date +%Y%m%d_%H%M%S).dat/` + mv $o_file $outfile +} + +copy() { + #echo $1 | cut -d: -f1 |sed -e s/.id$/.dat/ + mkdir -p ${PWD}/$$ + FILENAME=`echo $1|cut -d: -f1 |sed -e s/.id$/.dat/` + MW_ID=`echo $1|cut -d: -f2` + echo "copy FILENAME=${FILENAME}" + cp ${FILENAME} ${PWD}/$$/ + applyPatchToOriginalFiles $FILENAME $MW_ID +} + +copyTarToAppkyPatchDir() { + cp $PWD/*.tar $PWD/$$/modwork_qrcode/ +} + +main() { + #alle MW_IDs im Verzeichnis suchen + for i in $(grep MW_ID ${PWD}/*.dat |cut -d":" -f2 |cut -d" " -f2 |sort|uniq) + do + RET=$(findOriginalFile $i) + echo $RET + copy $RET + #applyPatchToFile $RET + done + applyPatchToNewDat + copyTarToAppkyPatchDir +} +main + + diff --git a/sortSWGAktion5550017.sh b/sortSWGAktion5550017.sh new file mode 100755 index 0000000..06e513c --- /dev/null +++ b/sortSWGAktion5550017.sh @@ -0,0 +1,111 @@ +#!/bin/bash +#sortiert die Aktion 5550017 der SWG +#in entsprechende Verzeichnisse um diese +#anschließend in MODWORK zu kopieren + + +#DEBUG > 10, nur ausgaben und keine Aktionen +#DEBUG > 0 && DEBUG < 10, ausgaben und Aktionen +DEBUG=11 +PWD=`pwd` +CSVFILE=/home/mhoellein/Aktionen/Stadtwerke_Glauchau/original_CSV/AUSWERTUNG.csv + + +grepForFiles() { + NUMBERS=$1 + FILEBASE=$2 + for n in $NUMBERS;do + grep -l "CSV_RETURN_VALUE $n.." $PWD/${FILEBASE}*.dat + done +} + +createDir() { + if [ $DEBUG -gt 0 ]; then + echo "do: mkdir -p $1" + fi + if [ $DEBUG -lt 10 ];then + mkdir -p $1 + fi +} + +moveFilesToDIR() { + if [ $DEBUG -gt 0 ];then + echo "do: mv $1 $2" + fi + if [ $DEBUG -lt 10 ]; then + mv $1 $2 + fi +} + +createResultFile() { + #grep nach OCR_CODE 5550017/2/1180935/57 + #Nummer ausschneiden 5550017/2/1180935/57 + #grep nach Nummer in Daten von Lars + #Zeile rausschreiben und WERT 1 durch Nummer X ersetzen 5550017/X/1180935/57 + echo result +} + +sortFilesInDirs() { + SAVEDIR=$PWD/`echo $1 | sed -e "s# #_#g"` + if [ $DEBUG -gt 0 ]; then + echo "mkdir -p $SAVEDIR" + fi + for f in `grepForFiles "12000 12001" modscan_ama_`;do + if [ $DEBUG -gt 0 ]; then + echo "mv $f $SAVEDIR" + fi + if [ $DEBUG -lt 10 ]; then + mv $f $SAVEDIR + fi + done +} + +createResultFileforDir() { + headline="OCR-MATCH,LOGSYS,BEGRU,BUKRS,AKTIONSNR,BARCODE,VKONT,TITLE,AD_TITLE_TEXT,NAME1,NAME2,NAME3,NAME4,STREET,HOUSE_NUM1,HOUSE_NUM2,POST_CODE1,CITY1,CITY2,COUNTRY,STREETCODE,CITY_CODE,CITYP_CODE,PCODE1_EXT,PCODE2_EXT,PCODE3_EXT,SMTP_ADDR,TELNR_LONG,FAXNR_LONG,APLZ,AORT,ASTRASSE,AHNR,AHNRZ,BANKL,BANKN,BANKA,KOINH,LINE0,LINE1,LINE2,LINE3,LINE4,LINE5,LINE6,LINE7,LINE8,LINE9,R_TITLE,R_AD_TITLE_TEX,R_NAME1,R_NAME2,R_NAME3,R_NAME4,R_STREET,R_HOUSE_NUM1,R_HOUSE_NUM2,R_POST_CODE1,R_CITY1,R_CITY2,R_COUNTRY,R_LINE0,R_LINE1,R_LINE2,R_LINE3,R_LINE4,R_LINE5,R_LINE6,R_LINE7,R_LINE8,R_LINE9,R_SMTP_ADDR,R_TELNR_LONG,R_FAXNR_LONG,V_ABRMENGE,KWLEISTUNG,ZEITANT,VERTRAG,GERAET,PARTNER,VREFER,ABLEINH,TARIFTYP,BDATUM,EDATUM,VDATUM,KDATUM,DATUM,UZEIT,UNAME,FILEN,WERT1,DATE1,REGIOGR_CA_B,PREIS,AB,BIS,SERNROP" + headline1="LOGSYS,BEGRU,BUKRS,AKTIONSNR,BARCODE,VKONT,TITLE,AD_TITLE_TEXT,NAME1,NAME2,NAME3,NAME4,STREET,HOUSE_NUM1,HOUSE_NUM2,POST_CODE1,CITY1,CITY2,COUNTRY,STREETCODE,CITY_CODE,CITYP_CODE,PCODE1_EXT,PCODE2_EXT,PCODE3_EXT,SMTP_ADDR,TELNR_LONG,FAXNR_LONG,APLZ,AORT,ASTRASSE,AHNR,AHNRZ,BANKL,BANKN,BANKA,KOINH,LINE0,LINE1,LINE2,LINE3,LINE4,LINE5,LINE6,LINE7,LINE8,LINE9,R_TITLE,R_AD_TITLE_TEX,R_NAME1,R_NAME2,R_NAME3,R_NAME4,R_STREET,R_HOUSE_NUM1,R_HOUSE_NUM2,R_POST_CODE1,R_CITY1,R_CITY2,R_COUNTRY,R_LINE0,R_LINE1,R_LINE2,R_LINE3,R_LINE4,R_LINE5,R_LINE6,R_LINE7,R_LINE8,R_LINE9,R_SMTP_ADDR,R_TELNR_LONG,R_FAXNR_LONG,V_ABRMENGE,KWLEISTUNG,ZEITANT,VERTRAG,GERAET,PARTNER,VREFER,ABLEINH,TARIFTYP,BDATUM,EDATUM,VDATUM,KDATUM,DATUM,UZEIT,UNAME,FILEN" + headline2="DATE1,REGIOGR_CA_B,PREIS,AB,BIS,SERNROP" + for i in `ls ${1}/modscan_ama*.dat` + do + unset OCRNUMBER + OCRNUMBER=`cat $i | grep OCR_CODE | cut -d " " -f 2` + if [ $DEBUG -gt 0 ]; then + echo "OCRNUMBER=$OCRNUMBER" + echo "" + fi + if [ -n $OCRNUMBER ]; then + line=`grep $OCRNUMBER $CSVFILE` + line=`echo -e "$headline\n$line"` + first=`echo "$line" | csvread -c '^'|csvcut -f $headline1|csvwrite -d ',' -c '^'` + last=`echo "$line" | csvread -c '^'|csvcut -f $headline2|csvwrite -d ',' -c '^'` + wert=`echo $OCRNUMBER|cut -d'/' -f2` + if [ $DEBUG -gt 0 ]; then + echo "line=$line" + echo "" + echo "first=$first" + echo "" + echo "wert=$wert" + echo "" + echo "last=$last" + echo "" + echo "$first,^$wert^,$last"|grep -v "LOGSYS" + + fi + + if [ $DEBUG -lt 10 ];then + echo "$first $wert $last" + fi + fi + return 1 + done +} + + +createResultFileforDir /home/swg/archiv +#sortFilesInDirs "12000 12001" +#sortFilesInDirs "13000 13001" modscan_ama_ +#sortFilesInDirs "14000 14001" modscan_ama_ +#sortFilesInDirs "15000 15001" modscan_ama_ +#sortFilesInDirs "16000" modscan_ama_ + + + diff --git a/sort_for_isu.tcl b/sort_for_isu.tcl new file mode 100755 index 0000000..a045011 --- /dev/null +++ b/sort_for_isu.tcl @@ -0,0 +1,14 @@ +#! /usr/bin/wish -f + +set abzugfile [open ./newkadis r] +set out [open ./out.file w] + +while {[gets $abzugfile line]>=0} { + set abzugfilelist [split ${line} ";"] + puts $out "[lindex $abzugfilelist 0];[lindex $abzugfilelist 4];[lindex $abzugfilelist 2];[lindex $abzugfilelist 1];[lindex $abzugfilelist 5];[lindex $abzugfilelist 6];[lindex $abzugfilelist 7];[lindex $abzugfilelist 3];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 8];[lindex $abzugfilelist 12]" +} + + +flush $abzugfile +close $abzugfile +close $out diff --git a/sortindex b/sortindex new file mode 100755 index 0000000..d824d63 Binary files /dev/null and b/sortindex differ diff --git a/splitfile b/splitfile new file mode 100755 index 0000000..e04d543 Binary files /dev/null and b/splitfile differ diff --git a/spotify-rpm-generator.sh b/spotify-rpm-generator.sh new file mode 100755 index 0000000..8c17e69 --- /dev/null +++ b/spotify-rpm-generator.sh @@ -0,0 +1,102 @@ +#!/bin/sh + +# Author: Marguerite Su +# License: GPL-3.0 +# Version: 1.0 +# Description: Shell Scripts used to build and install Spotify standard RPM for openSUSE. + +# need root permission + +if [[ $UID -ne 0 ]] +then + echo -e "\033[38;5;148mOnly root can run this script!\033[39m" + exit 1 +fi + +# define spotify parameters + +SPOTIFY_VERSION=0.8.4.103.g9cb177b.260-1 + +if [ `uname -m` == 'x86_64' ]; then + SPOTIFY_ARCH=amd64 + RPM_ARCH=x86_64 +else + SPOTIFY_ARCH=i386 + RPM_ARCH=i586 +fi + +NORMAL_USER=`logname` + +# check if we have 'rpmbuild' package installed, if not then install it. + +if [[ `rpm -qa rpm-build` == "" ]] ; then + zypper --no-refresh install rpm-build # 'rpm-build' is in oss, so no need to refresh that long. +fi + +# prepare for the build environment. + +# download specfile from github +cd /usr/src/packages/SPECS/ +wget https://raw.github.com/marguerite/opensuse-spotify-installer/master/spotify.spec -O spotify.spec + +# download source deb +cd ../SOURCES/ + +echo -e "\033[38;5;148mIf you already have spotify deb, please press 'ctrl + c', +put it under your home, and restart this script.(ignore if it's already done.) +or else we'll download it (may take a long time).\033[39m" + +sleep 5 + +echo -e "\033[38;5;148mDownloading...\033[39m" + +test -e /home/$NORMAL_USER/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb && cp -r /home/$NORMAL_USER/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb ./ || wget -c http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${SPOTIFY_VERSION}_$SPOTIFY_ARCH.deb + +# build + +echo -e "\033[38;5;148mBuilding...\033[39m" + +cd ../SPECS/ +rpmbuild -ba spotify.spec + +echo -e "\033[38;5;148mBuild done! Cleaning...\033[39m" + +# clean + +## copy generated rpm + +cp -r ../RPMS/$RPM_ARCH/*.rpm /home/$NORMAL_USER/ + +## real clean +rm -rf /usr/src/packages/SOURCES/spotify-*.deb +rm -rf /usr/src/packages/BUILD/spotify-* +rm -rf /usr/src/packages/BUILDROOT/* +rm -rf /usr/src/packages/RPM/$RPM_ARCH/spotify-*.rpm +rm -rf /usr/src/packages/SRPM/spotify-*.rpm +rm -rf /usr/src/packages/SPECS/spotify.spec + +# install + +## dependencies + +echo -e "\033[38;5;148mResolving dependencies...\033[39m" + +! [ `rpm -qa mozilla-nss` ] && zypper --no-refresh install mozilla-nss +! [ `rpm -qa mozilla-nspr` ] && zypper --no-refresh install mozilla-nspr +! [ `rpm -qa libopenssl1_0_0` ] && zypper --no-refresh install libopenssl1_0_0 + +echo -e "\033[38;5;148mInstalling...\033[39m" + +rpm -ivh --force --nodeps /home/$NORMAL_USER/spotify-*.rpm + +echo -e "\033[38;5;148mCongrats! Installation finished. +We put the generated RPM under your home. +Next time you can use 'sudo rpm -ivh --force --nodeps spotify-*.rpm' or +'sudo zypper --no-refresh install --force-resolution' to install it.\033[39m" + +# quit + +echo -e "\033[38;5;148mQuitting...\033[39m" + +exit 0 + diff --git a/startWorking b/startWorking new file mode 100755 index 0000000..9340b07 --- /dev/null +++ b/startWorking @@ -0,0 +1,33 @@ +#!/bin/bash + +USER="mhoellein" +WGET="wget --no-proxy --no-check-certificate --quiet -O -" +STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username=' +STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username=' +TIMEFILE="/localhome/mhoellein/privat/newTime.txt" + +createStartTimeForFile () { + startTime=`date "+%d.%m.%y%t%H.%M"` + echo -n $startTime >> $TIMEFILE +} + +createStopTimeForFile () { + stopTime=`date +"-%H.%M"` + echo $stopTime >> $TIMEFILE +} + +startWorking () { + ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1 + createStartTimeForFile +} + +stopWorking () { + ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1 + createStopTimeForFile +} + +case $0 in + *start*) startWorking ;; + *stop*) stopWorking ;; + *) echo "unbekannte Option..." ;; +esac diff --git a/start_eclipse.sh b/start_eclipse.sh new file mode 100755 index 0000000..946850a --- /dev/null +++ b/start_eclipse.sh @@ -0,0 +1,2 @@ +export LC_NUMERIC=C +/home/mhoellein/eclipse/eclipse diff --git a/statistik_tar.sh b/statistik_tar.sh new file mode 100755 index 0000000..4a371cc --- /dev/null +++ b/statistik_tar.sh @@ -0,0 +1,20 @@ +#!/bin/bash +logfile="/tmp/statistik_tar.log" +tarcounter=0 +filepattern="modscan_*.tar" +sum_allpng=0 +for tar in `find $pwd -iname $filepattern` +do + echo $tar + #anzahl tars + let tarcounter=tarcounter+1 + #gesamtinhalt tar und einzelfiles + x=`tar tvf $tar |awk 'BEGIN{sum=0}{sum=sum+$3}{print $6 " hat size = " $3}END{print "pngs in tar gesamt = " sum "\nsum=" sum }'` + printf "%s\n" "$x" | sed -e '$d' + eval `printf "%s\n" "$x" | sed -n -e '$p'` + let sum_allpng=sum+sum_allpng + echo "------------------------------" +done +echo "$tarcounter Dokumente wurden verarbeitet." +echo "Summe alle png-files = $sum_allpng" +echo "durchschnittliche Dokumentengröße = `expr $sum_allpng / $tarcounter`" diff --git a/stopWorking b/stopWorking new file mode 100755 index 0000000..9340b07 --- /dev/null +++ b/stopWorking @@ -0,0 +1,33 @@ +#!/bin/bash + +USER="mhoellein" +WGET="wget --no-proxy --no-check-certificate --quiet -O -" +STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username=' +STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username=' +TIMEFILE="/localhome/mhoellein/privat/newTime.txt" + +createStartTimeForFile () { + startTime=`date "+%d.%m.%y%t%H.%M"` + echo -n $startTime >> $TIMEFILE +} + +createStopTimeForFile () { + stopTime=`date +"-%H.%M"` + echo $stopTime >> $TIMEFILE +} + +startWorking () { + ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1 + createStartTimeForFile +} + +stopWorking () { + ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1 + createStopTimeForFile +} + +case $0 in + *start*) startWorking ;; + *stop*) stopWorking ;; + *) echo "unbekannte Option..." ;; +esac diff --git a/switch_network.sh b/switch_network.sh new file mode 100644 index 0000000..caa1eff --- /dev/null +++ b/switch_network.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# call nohup /root/switch_network & + +( +set -x +echo "-----------------------" +date +# Zeit zum abmelden +sleep 60 +ifconfig -a +route -n + +# alte Config sichern +[ -d /etc/sysconfig/network_save ] && mv /etc/sysconfig/network_save /etc/sysconfig/network_save_$(date +%Y%m%d%H%M%S) +cp -a /etc/sysconfig/network /etc/sysconfig/network_save + +# Neue Config +rm -f /etc/sysconfig/network/ifcfg-eth0 +echo "default via 10.10.1.253 dev eth0" > /etc/sysconfig/network/routes +cat > /etc/sysconfig/network/ifcfg-eth0 <&1 | tee -a /root/switch_network.log + diff --git a/swmscanneron b/swmscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/swmscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/t.sh b/t.sh new file mode 100755 index 0000000..2bc39bc --- /dev/null +++ b/t.sh @@ -0,0 +1,14 @@ +# vim: fileencoding=latin1 +#!/bin/sh +tes_ter () { + if test $# -ne 1; then + echo "ne da" + else + echo $1 + fi +} + +echo 1 +tes_ter +echo 2 +tes_ter chtest diff --git a/t.tcl b/t.tcl new file mode 100755 index 0000000..bfff4bc --- /dev/null +++ b/t.tcl @@ -0,0 +1,14 @@ +#!/usr/bin/wish +#if {1+2 != 3} { +# error "something is very wrong with addition" +#} +while { 1 } { + #set anz i[exec ps auxx | grep ssh | wc -l + #puts "$anz = anz" + if { [exec ps auxx | grep ssh | wc -l] == 4 } { + puts "4" + } else { + puts "!4" + } + after 1000 +} diff --git a/t1.sh b/t1.sh new file mode 100755 index 0000000..aedee15 --- /dev/null +++ b/t1.sh @@ -0,0 +1,11 @@ +#!/bin/sh +news_server="$(host news.freenet.de | egrep "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\." | sed -e "s/.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/") $(host news.individual.de | egrep "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\." | sed -e "s/.* \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/")" + + +echo "news_server=>${news_server}<" + + +if [ -z "${news_server}" ]; then + echo "leer" +fi + diff --git a/t2.sh b/t2.sh new file mode 100755 index 0000000..dfa0b3d --- /dev/null +++ b/t2.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +test=hallo +export test +t3.sh diff --git a/t3.sh b/t3.sh new file mode 100755 index 0000000..6cb8aa3 --- /dev/null +++ b/t3.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo $test diff --git a/tb_test.sh b/tb_test.sh new file mode 100755 index 0000000..cf4a71d --- /dev/null +++ b/tb_test.sh @@ -0,0 +1,2 @@ +#!/bin/bash +thunderbird %u -d strace > /tmp/tb.log 2>&1 diff --git a/tcltest.tcl b/tcltest.tcl new file mode 100755 index 0000000..e9c5ba4 --- /dev/null +++ b/tcltest.tcl @@ -0,0 +1,43 @@ +#!/usr/bin/wish +package require BLT + +set NUM_DOCUMENT 0 +set ArchexeStatus0 {} +set ArchexeStatus1 {} +set ArchexeStatus2 {} +set ArchexeStatus3 {} +set ArchexeStatus4 {} + +proc run {} { + global NUM_DOCUMENT ArchexeStatus0 ArchexeStatus1 ArchexeStatus2 ArchexeStatus3 ArchexeStatus4 + puts "run" + if {$NUM_DOCUMENT == 0} { + blt::bgexec ArchexeStatus0 /home/mhoellein/bin/test.sh & + } + if {$NUM_DOCUMENT == 1} { + blt::bgexec ArchexeStatus1 /home/mhoellein/bin/test.sh & + } + + incr NUM_DOCUMENT +} + +proc show {} { + global NUM_DOCUMENT ArchexeStatus0 ArchexeStatus1 ArchexeStatus2 ArchexeStatus3 ArchexeStatus4 + update + puts $ArchexeStatus0 + puts $ArchexeStatus1 + puts $ArchexeStatus2 + puts $ArchexeStatus3 + puts $ArchexeStatus4 +} + +run +run +run +run +run +while { 1 } { + show + after 2000 +} + diff --git a/test.c b/test.c new file mode 100755 index 0000000..3677a82 --- /dev/null +++ b/test.c @@ -0,0 +1,9 @@ + #include "stdio.h" + +void main(void) { + char *message[] = {"Hello ", "World"}; + int i; + for(i = 0; i = 1; ++i) + printf("%s", message[i]); + printf("\n"); +} diff --git a/test.go b/test.go new file mode 100755 index 0000000..4e67c83 --- /dev/null +++ b/test.go @@ -0,0 +1,148 @@ +package main + +// vCard 3.0 RFC: http://tools.ietf.org/html/rfc2426 + +import ( + "bitbucket.org/akavel/vcard" + "encoding/xml" + "fmt" + "io/ioutil" + "os" +) + +type RECORD struct { + XMLName xml.Name `xml:"RECORD"` + EMAIL string // + + WORK_FAX string // + PHONE_WORK string // + PHONE_HOME string // + PHONE_MOBILE string // + PHONE_PAGER string // + PHONE_OTHER string // + PHONE_MOBILE2 string // NOTE: added identical as MOBILE + + NAME []string // + + COMPANY string // + + WORK_ADDRESS1 string // + WORK_ADDRESS2 string // + WORK_CITY string // + WORK_POSTCODE string // + + TITLE string // + + HOME_ADDRESS1 string // + + NOTES string // + + HOME_CITY string // + HOME_POSTCODE string // + HOME_COUNTRY string // + + BIRTHDAY string // + ANNIVERSARY string /* TODO: only vCard 4.0+ */ +} + +type IPD struct { + XMLName xml.Name `xml:"IPD"` + Records []RECORD `xml:"RECORD>RECORD"` +} + +func addphone(v *vcard.VCard, number string, kind ...string) { + if number == "" { + return + } + v.Telephones = append(v.Telephones, vcard.Telephone{ + Type: kind, + Number: number, + }) +} + +func main() { + // read STDIN as IPD-XML file generated by bbb-dat.lua + buf, err := ioutil.ReadAll(os.Stdin) + if err != nil { + panic(err) + } + var ipd IPD + err = xml.Unmarshal(buf, &ipd) + if err != nil { + panic(err) + } + + //fmt.Printf("%#v\n", ipd) + _ = fmt.Printf + + var book vcard.AddressBook + for _, r := range ipd.Records { + var v vcard.VCard + + if r.EMAIL != "" { + v.Emails = []vcard.Email{{Address: r.EMAIL}} + } + + addphone(&v, r.WORK_FAX, "fax", "work") + addphone(&v, r.PHONE_WORK, "work") + addphone(&v, r.PHONE_HOME, "home") + addphone(&v, r.PHONE_MOBILE, "cell") + addphone(&v, r.PHONE_PAGER, "pager") + addphone(&v, r.PHONE_OTHER) + addphone(&v, r.PHONE_MOBILE2, "cell") + + switch len(r.NAME) { + case 2: + v.FamilyNames = []string{r.NAME[1]} + v.FormattedName = " " + r.NAME[1] + fallthrough + case 1: + v.GivenNames = []string{r.NAME[0]} + v.FormattedName = r.NAME[0] + v.FormattedName + } + + if r.COMPANY != "" { + v.Org = []string{r.COMPANY} + } + + v.Title = r.TITLE + v.Note = r.NOTES + v.Birthday = r.BIRTHDAY + + if r.ANNIVERSARY != "" { + if v.Note != "" { + v.Note += "\n" + } + v.Note += "Anniversary: " + r.ANNIVERSARY + } + + if r.WORK_ADDRESS1+ + r.WORK_ADDRESS2+ + r.WORK_CITY+ + r.WORK_POSTCODE != "" { + v.Addresses = append(v.Addresses, vcard.Address{ + Type: []string{"work"}, + Street: r.WORK_ADDRESS1, + ExtendedAddress: r.WORK_ADDRESS2, + Locality: r.WORK_CITY, + PostalCode: r.WORK_POSTCODE, + }) + } + if r.HOME_ADDRESS1+ + r.HOME_CITY+ + r.HOME_POSTCODE+ + r.HOME_COUNTRY != "" { + v.Addresses = append(v.Addresses, vcard.Address{ + Type: []string{"home"}, + Street: r.HOME_ADDRESS1, + Locality: r.HOME_CITY, + PostalCode: r.HOME_POSTCODE, + CountryName: r.HOME_COUNTRY, + }) + } + + book.Contacts = append(book.Contacts, v) + } + + book.WriteTo(vcard.NewDirectoryInfoWriter(os.Stdout)) +} diff --git a/test.pl b/test.pl new file mode 100755 index 0000000..4f076f0 --- /dev/null +++ b/test.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +sub fail { + my ($msg) = @_; + #print STDERR "$0: ", $msg, "\n"; + print STDERR "$ENV{HOSTNAME}: ", $msg, "\n"; + exit -1; +} + + +$pathexpr='(archiv/scan/POST/\d{6}/|incomming/scan/scanalk/|archiv/scan/scan02/\d{4}|archiv/scan/scan02/\d{4}/\d{2}|archiv/scan/scan02/\d{4}/\d{2}/\d{2}|archiv/scan/scan04/\d{4}|archiv/scan/scan04/\d{4}/\d{2}|archiv/scan/scan04/\d{4}/\d{2}/\d{2}|archiv/scan/scan05/\d{4}|archiv/scan/scan05/\d{4}/\d{2}|archiv/scan/scan05/\d{4}/\d{2}/\d{2}|archiv/scan/scan06/\d{4}|archiv/scan/scan06/\d{4}/\d{2}|archiv/scan/scan06/\d{4}/\d{2}/\d{2}|archiv/scan/scan07|archiv/scan/scan07/\d{4}|archiv/scan/scan07/\d{4}/\d{2}|archiv/scan/scan07/\d{4}/\d{2}/\d{2}|incomming/scan/scanatt/|incomming/scan/scansvk/|incomming/scan/scanrga/|incomming/scan/scanze/|incomming/update)\/{0,1}[\w\-]*>{0,1}[\w\-]*'; +$command='rsync -avuz /home/modscan/2012/ modarch@egs-archiv:archiv/scan/scan07'; +if +print $command; +fail "geht nicht" + unless ($command=~m/^\s*(rsync .*) ($pathexpr)\s*$/); + +print $command; +exit diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..bd07e68 --- /dev/null +++ b/test.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +testing() { +default="nothing" +U=${1-$default} +if [ "${U}" != "${default}" ];then + echo "nicht default" + echo $U +else + echo default + echo $U +fi +} +testing +testing user +testing user buser +exit + + + + +i=1 +while [ 1 == 1 ] +do + echo "test" + sleep 2 + let i=i+1 + if [ $i -eq 10 ]; then + exit 0 + fi +done diff --git a/test.tcl b/test.tcl new file mode 100755 index 0000000..a77bc8b --- /dev/null +++ b/test.tcl @@ -0,0 +1,23 @@ +#!/usr/bin/wish + +puts "argv:${argv}" +puts "argc:${argc}" + +set z 10 +for {set x 0} {$x < $z} { incr x} { + for {set y 0} {$y < 10 } { incr y} { + puts "x=$x y=$y" + if { [expr $y%2] } { + incr z -2 + break + } + } +} + +set l { 0 1 2 3 4 5 6 7 8 9 } +puts "aus folgender Liste:" +puts "$l" +puts "die 3 rausnehmen und neue Liste ausgeben" +puts "[lreplace $l 3 3]" + +exit diff --git a/test1.c b/test1.c new file mode 100755 index 0000000..c7ccb22 --- /dev/null +++ b/test1.c @@ -0,0 +1,6 @@ +#include "stdio.h" +void main (void) { + int i; + i=15; + printf("\n%d\n",i<<4); +} diff --git a/test1.tcl b/test1.tcl new file mode 100755 index 0000000..853c9f9 --- /dev/null +++ b/test1.tcl @@ -0,0 +1,53 @@ +#! /usr/bin/wish -f + +set isufile [open ./fehlende_isu_kunden_sort_uniq r] +set art [open ./vertragstypen.txt r] +set out [open ./kadis2isu_isu_vertragstypen_filled_in.file w] +set i 0 +set y 0 + +while {[gets $isufile line]>=0} { + lappend isu $line +} + +while {[gets $art l]>=0} { + lappend artfile $art +} +close $isufile +close $art +foreach line [lrange $isu 0 end] { + set isulist [split ${line} ";"] + set kaeisufile [lindex $isulist 7] + set insert 0 + set vart unknown + for {set I 0} {$I<[llength $artfile]} {incr I} { + set l [lindex $artfile $I] + set kart [split ${l} " "] + set kae [lindex $kart 0] + set typ [lindex $kart 1] + regsub "/" $kae "" kae + regsub "^0" $kae "" kae + + if { $kaeisufile == $kae } { + set vart "" + incr y + if { "$typ" == "NETZ" } { + set vart 5020 + } else { + set vart unknown + } + puts $out "[lindex $isulist 0];[lindex $isulist 1];[lindex $isulist 2];[lindex $isulist 3];[lindex $isulist 4];[lindex $isulist 5];[lindex $isulist 6];[lindex $isulist 7];[lindex $isulist 8];[lindex $isulist 9];[lindex $isulist 10];$vart;[lindex $isulist 12]" + set a1 [lrange $artfile 0 [expr ${I}-1]] + set a2 [lrange $artfile 0 [expr ${I}+1]] + set artfile [concat $a1 $a2] + set insert 1 + break + } + } + if { $insert == 0 } { + puts "$kaeisufile nicht in vertragstypen.txt" + puts $out "[lindex $isulist 0];[lindex $isulist 1];[lindex $isulist 2];[lindex $isulist 3];[lindex $isulist 4];[lindex $isulist 5];[lindex $isulist 6];[lindex $isulist 7];[lindex $isulist 8];[lindex $isulist 9];[lindex $isulist 10];$vart;[lindex $isulist 12]" + } +} +flush $out +close $out diff --git a/testfile.txt b/testfile.txt new file mode 100644 index 0000000..ad97e85 --- /dev/null +++ b/testfile.txt @@ -0,0 +1 @@ +^IP1_300^,^0726^,^3100^,^3100002^,^07263100310000200301653825^,^28184571^,^Herrn^,^^,^Wolfgang^,^Stumpf^,^^,^^,^Westheimer Str.^,^16^,^^,^97318^,^Kitzingen^,^Repperndorf^,^DE^,^200000533388^,^200000007973^,^97318004^,^^,^^,^^,^^,^^,^^,^97318^,^Kitzingen^,^Westheimer Str.^,^16^,^^,^79050000^,^42124107^,^Sparkasse Mainfranken Würzburg^,^WOLFGANG STUMPF^,^Herrn^,^Wolfgang Stumpf^,^Westheimer Str. 16^,^97318 Kitzingen^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^^,^ 0^,^ 0.0000000^,^ 151^,^0030165382^,^000000000000021356^,^0001059806^,^^,^LKW_3201^,^EJPP30_GRD^,^20090625^,^170506^,^LKWEBEL^,^E:\Kampagnen\Strompreisaktion^,^^,^00000000^ diff --git a/testp.sh b/testp.sh new file mode 100755 index 0000000..df43586 --- /dev/null +++ b/testp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/sh +sync +date +cp -ar /home/modarch/archiv /mnt +sync +date diff --git a/testscanner.tcl b/testscanner.tcl new file mode 100755 index 0000000..515e671 --- /dev/null +++ b/testscanner.tcl @@ -0,0 +1,62 @@ +#!/usr/bin/wish +package require BLT + + + set bgstat "" + set bgout "" + set bgerr "" + +set SANE_DEVICE "" +set SANE_MODEL "" +set SANE_MODEL "" +set scancmd [join [list blt::bgexec bgstat -output bgout -error bgerr\ + scanimage --formatted-device-list="%i@%d@%m@"]] +if {![catch $scancmd catch_err]} { + set anz_scanner [regexp -all "\"" $bgout] + set anz_scanner [expr $anz_scanner /2] + if { $anz_scanner > 1 } { + for {set x 0} {$x < $anz_scanner} {incr x} { + set SANE_NR_${x} "" + set SANE_DEVICE_${x} "" + set SANE_MODEL_${x} "" + regexp "^\".@\(\[^@\]*\)@\(\[^@\]*\)@\"" $bgout SANE_NR_${x} SANE_DEVICE_${x} SANE_MODEL_${x} + #eval set t SANE_DEVICE_${x} + #eval puts $$t + regsub {\"[^\"]*\"} $bgout "" bgout + } + toplevel .scannerwahl + wm protocol .scannerwahl WM_DELETE_WINDOW { } + wm transient .scannerwahl . + focus .scannerwahl + wm geometry .scannerwahl +10+10 + frame .scannerwahl.scanner + set wahl 0 + for {set x 0} {$x < $anz_scanner} {incr x} { + set d SANE_DEVICE_${x} + eval set d $$d + set m SANE_MODEL_${x} + eval set m $$m + checkbutton .scannerwahl.scanner.$x -text $d -onvalue $x -variable wahl -command "set SANE_DEVICE $d;set SANE_MODEL $m" -anchor w + pack .scannerwahl.scanner.$x -side top -fill x + } + frame .scannerwahl.ok + button .scannerwahl.ok.ok -text "OK" -command "destroy .scannerwahl" + pack .scannerwahl.ok.ok + grid config .scannerwahl.scanner -row 0 -column 0 -columnspan 3 -sticky snew + grid config .scannerwahl.ok -row 1 -column 1 -columnspan 1 -sticky snew + tkwait window .scannerwahl + #TODO net schön, veruchen wenn libusb mit scanadf ansonsten mit scanimage + if { [regexp "libusb" $SANE_DEVICE] } { + source [file join $pfad_bin va4_scannen_scanadf.tcl] + } else { + source [file join $pfad_bin va4_scannen.tcl] + } + } else { + regexp "^\"0@\(\[^@\]*\)@\(\[^@\]*\)@\"" $bgout SANE_NR SANE_DEVICE SANE_MODEL + puts "SANE_NR=$SANE_NR SANE_DEVICE=$SANE_DEVICE SANE_MODEL=$SANE_MODEL" + } +} else { + puts mist +} + + diff --git a/tidy b/tidy new file mode 100755 index 0000000..f5b8fe7 Binary files /dev/null and b/tidy differ diff --git a/tnef b/tnef new file mode 100755 index 0000000..da6dbff Binary files /dev/null and b/tnef differ diff --git a/tt.c b/tt.c new file mode 100755 index 0000000..8b40622 --- /dev/null +++ b/tt.c @@ -0,0 +1,12 @@ +#include "stdio.h" +/*test*/ +/*ACHTUNG Speicher wird nicht wieder freigegeben!!!*/ +void main(void) { + while(1) { + void *i=NULL; + i=malloc(500); + printf("%x", &i); + if(i==NULL) + break; + } +} diff --git a/usbreset b/usbreset new file mode 100755 index 0000000..85b994c Binary files /dev/null and b/usbreset differ diff --git a/usbreset.c b/usbreset.c new file mode 100644 index 0000000..226eb9e --- /dev/null +++ b/usbreset.c @@ -0,0 +1,39 @@ +/* usbreset -- send a USB port reset to a USB device */ + +#include +#include +#include +#include +#include + +#include + + +int main(int argc, char **argv) { + const char *filename; + int fd; + int rc; + + if (argc != 2) { + fprintf(stderr, "Usage: usbreset device-filename\n"); + return 1; + } + filename = argv[1]; + + fd = open(filename, O_WRONLY); + if (fd < 0) { + perror("Error opening output file"); + return 1; + } + + printf("Resetting USB device %s\n", filename); + rc = ioctl(fd, USBDEVFS_RESET, 0); + if (rc < 0) { + perror("Error in ioctl"); + return 1; + } + printf("Reset successful\n"); + + close(fd); + return 0; +} diff --git a/usbreset_64 b/usbreset_64 new file mode 100755 index 0000000..37d5029 Binary files /dev/null and b/usbreset_64 differ diff --git a/utils.tcl b/utils.tcl new file mode 100644 index 0000000..1600d41 --- /dev/null +++ b/utils.tcl @@ -0,0 +1,26 @@ +proc split_csv {line} { + set csv_list {} + while {[string length $line] > 0} { + if [regexp "^\\^\[^^\]*\\^" $line ausdruck] { + lappend csv_list [string range $ausdruck 1 end-1] + set line [string range $line [expr [string length $ausdruck]+1] end] + } else { + return $csv_list + } + } + return $csv_list +} + + +proc split_csv_line {line} { + set csv_list {} + while {[string length $line] > 0} { + if [regexp "^\\^\[^^\]*\\^" $line ausdruck] { + lappend csv_list [string range $ausdruck 1 end-1] + set line [string range $line [expr [string length $ausdruck]+1] end] + } else { + return $csv_list + } + } + return $csv_list +} diff --git a/viaes b/viaes new file mode 100644 index 0000000..ace9f83 --- /dev/null +++ b/viaes @@ -0,0 +1,45 @@ +#!/bin/sh +umask 0002 +PATH= +CAT="/bin/cat" +MKTEMP="/bin/mktemp" +AESPIPE="/usr/bin/aespipe" +VI="/usr/bin/vi" +CP="/bin/cp" +SHRED="/usr/bin/shred" + +BINARIES="$CAT $MKTEMP $AESPIPE $VI $CP $SHRED" + +for x in $BINARIES; do + if [ ! -x ${x} ]; then + echo "Programm ${x} fehlt!" + exit 1 + fi +done + +if [ -e /media/mgostick4a/oisafe.csv.aes ]; then + BASE=/media/mgostick4a +elif [ -e /run/media/mario/mgostick4a/oisafe.csv.aes ]; then + BASE=/run/media/mario/mgostick4a +elif [ -e /run/media/mgoppold/mgostick4a/oisafe.csv.aes ]; then + BASE=/run/media/mgoppold/mgostick4a +fi + +TMPFILE=`$MKTEMP /tmp/tfile.XXXXXXXXXX` +$CAT $BASE/oisafe.csv.aes | $AESPIPE -K ~/.ck.asc -d > $TMPFILE +if [ -s $TMPFILE ]; then + $VI -n -b $TMPFILE + $CP --force $BASE/oisafe.csv.aes.4 $BASE/oisafe.csv.aes.5 + $CP --force $BASE/oisafe.csv.aes.3 $BASE/oisafe.csv.aes.4 + $CP --force $BASE/oisafe.csv.aes.2 $BASE/oisafe.csv.aes.3 + $CP --force $BASE/oisafe.csv.aes.1 $BASE/oisafe.csv.aes.2 + $CP --force $BASE/oisafe.csv.aes $BASE/oisafe.csv.aes.1 + $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > $BASE/oisafe.csv.aes + OK=$? + if [ $OK -ne 0 ]; then + $CAT $TMPFILE | $AESPIPE -K ~/.ck.asc > $BASE/oisafe.csv.aes + fi + echo -n "Weiter mit " + read II + $SHRED --force --remove $TMPFILE +fi diff --git a/visscanneron b/visscanneron new file mode 100755 index 0000000..5dce06e --- /dev/null +++ b/visscanneron @@ -0,0 +1,113 @@ +#!/bin/bash + +KEYFILE="/home/mhoellein/.ssh/scanneron.pub" + +hosts_egs="egs-scan01 egs-scan02 egs-scan03 egs-scan04 egs-scan05 egs-scan06 scandonauw scangz scankempten" +hosts_esg="esg-scan02 esg-scan03 esg-scan04 esg-scan05 esg-scan06 esg-scan07" +hosts_ems="ems-scan01 ems-scan02 ems-scan03 ems-scan04 ems-scan05" +hosts_swm="swm-scan01" +hosts_vis="vis-scan02 evk-scan01 evk-scan02 swk-scan01 lkw-scan01 erw-scan01" +hosts_evk="evk-scan01 evk-scan02" +case $0 in + *egs*) hosts=$hosts_egs ;; + *esg*) hosts=$hosts_esg ;; + *ems*) hosts=$hosts_ems ;; + *swm*) hosts=$hosts_swm ;; + *vis*) hosts=$hosts_vis ;; + *evk*) hosts=$hosts_evk ;; +esac + +case $0 in +*egs*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@egs-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@egs-archiv 2>/dev/null ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8 2>/dev/null` 2>/dev/null + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; +*esg*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@esg-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*ems*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@ems-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*swm*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh $KEYFILE modarch@swm-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*vis*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@vis-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; +*evk*) + for host in $hosts; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@evk-archiv ping -c 1 -w 1 $host 2>/dev/null` 2>/dev/null + RET=$? + if [ $RET -eq 0 ]; then + echo -e "on" + else + echo -e "off" + fi + done +;; + +*guf*) + for host in guf-scan01 guf-scan02 ; do + echo -en "$host :\t " + ON=`ssh -i $KEYFILE modarch@guf-archiv ping -c 1 -w 1 $host` 2>/dev/null + RET=$? + WANN=`ssh -i $KEYFILE modscan@guf-archiv ls -alh update/modscan_env.${host} |sed -e "s/ */ /g" |cut -d " " -f 6-8` + if [ $RET -eq 0 ]; then + echo -e "on\tlastupdate: ${WANN}" + else + echo -e "off\tlastupdate: ${WANN}" + fi + done +;; + +*) + echo "$0" + echo -e "unbekannter Aufruf" +;; +esac diff --git a/vnc_scanrechner b/vnc_scanrechner new file mode 100755 index 0000000..1c8c655 --- /dev/null +++ b/vnc_scanrechner @@ -0,0 +1,22 @@ +#!/bin/sh + +host="" +while [ -n "$1" ] ; do + case $1 in + *) host=$1 ; shift ;; + esac +done + +if [ "${host}" == "" ] +then + echo "Welchen Scanrechner?" + read host +fi +echo "danach in lokaler konsole vncviewer localhost" +user=modscan +if [ "${host}" = "scanhv4" ] +then + user=kredscan +fi +echo "Passwort für user ${user} auf ${host}" +ssh -i ~/.ssh/scanneron -XC -c blowfish -L 5900:localhost:5900 ${user}@${host} diff --git a/weltraum.sh b/weltraum.sh new file mode 100755 index 0000000..094e7d7 --- /dev/null +++ b/weltraum.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +pos=40 +width=80 + +while true; do + read -t1 -s -n1 x + case "$x" in + g) pos=$(($pos -1));; + h) pos=$(($pos +1));; + esac + for ((i=0; i<$width; i++)) + do + if [ $i -eq $pos ]; then + echo -n 'V' + elif [ $(($RANDOM %9)) -eq 0 ]; then + echo -n '*' + else + echo -n ' ' + fi + done + echo +done diff --git a/working.sh b/working.sh new file mode 100755 index 0000000..9340b07 --- /dev/null +++ b/working.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +USER="mhoellein" +WGET="wget --no-proxy --no-check-certificate --quiet -O -" +STARTURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung/?username=' +STOPURL='https://tbz-work/modwork_tbz_p/djangotools/public/modwork_time_calc/modwork_time.calculations.autozeiterfassung_stop/?username=' +TIMEFILE="/localhome/mhoellein/privat/newTime.txt" + +createStartTimeForFile () { + startTime=`date "+%d.%m.%y%t%H.%M"` + echo -n $startTime >> $TIMEFILE +} + +createStopTimeForFile () { + stopTime=`date +"-%H.%M"` + echo $stopTime >> $TIMEFILE +} + +startWorking () { + ret=`$WGET ${STARTURL}${USER}` >/dev/null 2>&1 + createStartTimeForFile +} + +stopWorking () { + ret=`$WGET ${STOPURL}${USER}` >/dev/null 2>&1 + createStopTimeForFile +} + +case $0 in + *start*) startWorking ;; + *stop*) stopWorking ;; + *) echo "unbekannte Option..." ;; +esac diff --git a/xvnc_scanrechner b/xvnc_scanrechner new file mode 100755 index 0000000..04e8d9f --- /dev/null +++ b/xvnc_scanrechner @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ $1 = "" ]; then + echo "Scanhost angeben!" + echo "xvnc_scanrechner scanhost" +fi +echo "Passwort für root auf $1 eingeben:" +ssh -t -L 5900:localhost:5900 root@${1} "x11vnc -localhost -nolookup -nopw -display :0 -auth \$(ps axuww | egrep 'Xorg.*-auth' | grep -v egrep | sed -e 's#^.*-auth *##' | awk '{print \$1}')" diff --git a/zahlen.c b/zahlen.c new file mode 100644 index 0000000..4932677 --- /dev/null +++ b/zahlen.c @@ -0,0 +1,7 @@ +#include "stdio.h" +int main (void) { + printf ("int=%d\n", sizeof(int)); + printf ("double=%d\n", sizeof(double)); + printf ("short=%d\n", sizeof(short)); + printf ("char=%d\n", sizeof(char)); +} diff --git a/zeige b/zeige new file mode 100644 index 0000000..59bb7f9 --- /dev/null +++ b/zeige @@ -0,0 +1,10 @@ +#!/bin/bash +if [ -e /media/mgostick4a/oisafe.csv.aes ]; then + cat /media/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1" +elif [ -e /run/media/mario/mgostick4a/oisafe.csv.aes ]; then + cat /run/media/mario/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1" +elif [ -e /run/media/mgoppold/mgostick4a/oisafe.csv.aes ]; then + cat /run/media/mgoppold/mgostick4a/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1" +elif [ -e /mnt/oisafe.csv.aes ]; then + cat /mnt/oisafe.csv.aes | aespipe -K ~/.ck.asc -d | egrep -a -i "$1" +fi