Advertisement
Guest User

decr-text2.awk

a guest
Oct 24th, 2013
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 0.66 KB | None | 0 0
  1. #! /usr/bin/awk -f
  2.  
  3. function get_ci(alph,c) {
  4.   return index(alph,c)
  5. }
  6.  
  7. BEGIN {
  8.   alph="уфхцчшщюяабвгдежзиклмнопрст"
  9.   keys="екатеринбург"
  10.   keyn=length(keys)
  11.   for(i=0; i<keyn; i++)
  12.     key[i]=get_ci(alph,substr(keys,i+1,1))
  13.   #key[keyn-3]=2
  14.   for(i=0; i<keyn; i++) keypr=keypr sprintf("%02d",key[i]) " "
  15.   print "key:", keypr
  16.  
  17.   n=2
  18.  
  19.   maxv=0
  20. }
  21.  
  22. function ch(s,idx) {
  23.   return substr(s,1+idx*n,n)
  24. }
  25.  
  26. {
  27.   len=length($0)/2
  28.   s=$0
  29.   text=""
  30.   for(i=0; i<len; i++) {
  31.     v=ch(s,i)
  32.     text=text substr(alph,v-key[i%keyn],1)
  33.    
  34.     if(maxv<v) maxv=v
  35.   }
  36.   print text
  37. }
  38.  
  39. END { print "maxv=",maxv }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement