Advertisement
Guest User

Untitled

a guest
Aug 27th, 2012
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 4.71 KB | None | 0 0
  1. if [ $2 -eq 2 ];
  2. then
  3. datum=$( date | sed -e 's/\s\+/-/g' | sed -e 's/\:\+/_/g' )
  4.  
  5. ls -l $PAISY/USER  | grep ^d | awk '{ print $10";" >> "'"$PAISY"'/KUNDE/DB/existing_users.txt" } END { close("'"$PAISY"'/KUNDE/DB/existing_users.txt") }'
  6.  
  7. awk '
  8.    BEGIN {mode="unknown"; lastmode="none";}
  9.    
  10.    / / {split($1,fnID," "); mode=fnID[2]; if(strtonum("'"$3"'")>1){mode="tmpheader"; pointer=0;}else{get_users(mode);}}
  11.        #falls man schon gesehen hat => mode ist nicht mehr unknown
  12.        { if(mode!="unknown")
  13.            if(strtonum("'"$3"'")>1){
  14.               printf("") > "'"$PAISY"'/KUNDE/DB/tmpheader.txt"
  15.               if(pointer<=strtonum("'"$header"'")){
  16.                  #print $header " header coounter is what? "
  17.                  print $0 >> "'"$PAISY"'/KUNDE/DB/tmpheader.txt"
  18.               }
  19.               pointer++  
  20.               if(pointer==strtonum("'"$3"'")){
  21.                  close("'"$PAISY"'/KUNDE/DB/tmpheader.txt")
  22.                  #print "jetzt ist pointer 9"
  23.                  split($1,fnnID,"/")
  24.                  get_users(fnnID[1])
  25.                  #start-tag vom rtf format
  26.                  while( getline lineo < "'"$PAISY"'/KUNDE/DB/tmpheader.txt" ){
  27.                  #print "lese aus der header in die file rein"
  28.                  for(i in finarray){
  29.                     print lineo >> sprintf("'"$PAISY"'/USER/%s/%s_%s.doc",finarray[i],fnnID[1],"'"$filename"'")
  30.                     print lineo >> sprintf("'"$PAISY"'/KUNDE/DB/%s_%s.doc",fnnID[1],"'"$filename"'")
  31.                    }
  32.                  }
  33.                  close("'"$PAISY"'/KUNDE/DB/tmpheader.txt")
  34.                  pointer++
  35.                  
  36.               }
  37.               if(pointer>strtonum("'"$3"'")){
  38.                 for(i in finarray){
  39.                     print $0 >> sprintf("'"$PAISY"'/USER/%s/%s_%s.doc",finarray[i],fnnID[1],"'"$filename"'")
  40.                     print $0 >> sprintf("'"$PAISY"'/KUNDE/DB/%s_%s.doc",fnnID[1],"'"$filename"'")
  41.                 }
  42.                 pointer++
  43.               }
  44.              
  45.            } else {
  46.              for(i in finarray){
  47.                print $0 >> sprintf("'"$PAISY"'/USER/%s/%s_%s.doc",finarray[i],mode,"'"$filename"'")
  48.                print $0 >> sprintf("'"$PAISY"'/KUNDE/DB/%s_%s.doc",mode,"'"$filename"'")
  49.              
  50.              }
  51.              
  52.          }
  53.        }
  54.  
  55.      #personen von USER.txt holen, die hinter mode(firmenID) stehen  
  56.      function get_users(mode){
  57.      if(mode!=lastmode){
  58.          name=""
  59.          while(getline line < "'"$PAISY"'/KUNDE/DB/Verteil.ini"){
  60.                  split(line, userarray, ";")
  61.                  if(userarray[1]==mode){
  62.                     #print "userarray[1]==mode  ==> true"
  63.                     name=name" "userarray[2]
  64.                     #print "name: "userarray[2] " ist appendiert ins "name
  65.                  }
  66.         }
  67.         close("'"$PAISY"'/KUNDE/DB/Verteil.ini")
  68.         #wenn person mit Firmenid mode in Verteil.ini existiert
  69.         if(name!=""){
  70.            lastmode=mode
  71.            split(name, array, " ")
  72.            for(a in array){
  73.            stand="ok"
  74.              while(getline z < "'"$PAISY"'/KUNDE/DB/existing_users.txt"){
  75.              split(z,za,";")
  76.               if(array[a]==za[1]){
  77.                final_list=final_list" "za[1]
  78.               }else{
  79.                while(stand=="ok"){
  80.                 fehlen=fehlen" "array[a]
  81.                 stand="no"
  82.                }
  83.               }
  84.              }
  85.              close("'"$PAISY"'/KUNDE/DB/existing_users.txt")
  86.            }
  87.            if(final_list!=""){
  88.            print "==> werde Datei: [" mode"_'"$filename"'""] in den Ordner [" final_list "] erstellen"
  89.            }
  90.            split(final_list,finarray," ")
  91.            split(fehlen,fehlarray," ")
  92.            fehlen=""
  93.            for(f in finarray){
  94.               for(g in fehlarray){
  95.                   if(finarray[f]==fehlarray[g]){
  96.                      fehlarray[g]=""
  97.                   }
  98.               }
  99.            }
  100.            for(h in fehlarray){
  101.               last=last" "fehlarray[h]
  102.            }
  103.            if(last!=" "){
  104.            print "~> für Datei: [" mode"_'"$filename"'" "] Ordner [" last "] nicht vorhanden"
  105.            }
  106.            last=""
  107.            final_list=""
  108.            name=""
  109.            
  110.         } else {
  111.          #wenn jemand nicht gefunden ist, dann speichere in cl_raTMP ordner rein
  112.            print "FirmenID - " mode " für Datei [" mode"_'"$filename"'" "] nicht vorhanden"
  113.            close("'"$PAISY"'/KUNDE/DB/Verteil.ini")
  114.            name="cl_raDB "
  115.            split(name, finarray, " ")
  116.            name=""
  117.         }
  118.      }
  119.        else {
  120.          #print "mode!=lastmode ==> false: mode "mode" lastmode: "lastmode
  121.        }
  122.      }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement