Advertisement
PomozMi

AWK odp

Nov 15th, 2014
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 2.16 KB | None | 0 0
  1.     //      zad1
  2. BEGIN {suma=0; print("\t\t\tSUMA");}
  3. {suma = $1+$2+$3; print("|",$1,"\t|",$2,"\t|",$3,"\t|",suma);}
  4.     //      zad2
  5. BEGIN {max=0;suma=0;}
  6. {if(NF>max) max=NF;
  7. for(i=1;i<=NF;i++) {tab[NR,i]=$i; suma+=$i;}
  8. tabs[NR]=suma;
  9. suma=0;
  10. }
  11. END {for(i=1;i<=max;i++) printf("\t"); printf("SUMA\n");
  12. for(i=1;i<=NR;i++){
  13.     for(j=1;j<=max;j++){
  14.         printf("|");printf tab[i,j]; printf("\t");
  15.     }
  16.     printf("|");printf tabs[i]; printf("\n");
  17. }
  18. }
  19.     //      zad3
  20. BEGIN {liczba=0;}
  21. /^[^;]/ {liczba+=NF;}
  22. END {printf("Liczba słów: %d",liczba);}
  23.     //      zad4
  24.  
  25. BEGIN {suma=0;i=1;}
  26. {suma+=$i; i++;}
  27. END {print suma;}
  28.     //       zad5
  29.  
  30. BEGIN {licznik=0;l=0;}
  31. $1=="#replace"
  32. {
  33. licznik++;
  34. co[licznik]=$2;
  35. czym[licznik]=$3;
  36. gdzie[licznik]=NR;}
  37.  
  38. $1!="#replace" {
  39. l++; tresc[l]=$0; gdziew[l]=NR
  40. }
  41. END {  
  42. printf("Tekst oryginalny\n");      
  43. for(i=1;i<=l;i++) print tresc[i];
  44. for(i=1;i<=l;i++)
  45. for(j=1;j<=licznik;j++)
  46. if(gdziew[i]>gdzie[j]) gsub(co[j],czym[j],tresc[i]);
  47. printf("Tekst po zamianie\n");
  48. for(i=1;i<=l;i++)
  49. print tresc[i];
  50. }
  51.     //       zad6
  52. {$0=gensub(/([A-Z])(\.)([A-Z][a-z]+)/,"\\3\\2\\1","g");
  53. $0=gensub(/[ \t]+/," ","g");
  54. print;}
  55. // zad7
  56. BEGIN {FS=":"; max=0;}
  57. {if($2>max) max=$2;}
  58. END {print max;}
  59.     //       zad8
  60. /[A-Za-z0-9]+[A-Za-z0-9_\.-]*@([0-9]\.|([1-9][0-9]\.)|(1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.))([0-9]\.|([1-9][0-9]\.)|(1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.))([0-9]\.|([1-9][0-9]\.)|(1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.))([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))/ {printf("e-mail: %s\n",$1);}
  61.     //       zad9
  62. BEGIN {kwadrat=0; poz=0;}
  63. {poz=index($0,"*"); if(poz!=NR) {print("To nie kwadrat");kwadrat=0;} else kwadrat=1;}
  64. END {if(kwadrat==1) printf("To jest kwadrat");}
  65.     //       zad10
  66. BEGIN {tmp=0; poz=0; kwadrat=1;}
  67. {tmp=index($0,"*");
  68.  if(NR==1) poz=tmp;
  69.  if(NR>1) poz--;
  70.  if(tmp!=poz) {printf("To nie kwadrat"); kwadrat=0;}
  71. }
  72. END {if(kwadrat) printf("To jest kwadrat");}
  73.     //       zad11
  74. BEGIN {dl=0; tmp1=0; tmp2=0;}
  75. {
  76. if(NR==1 && $o~/\*+\*$/) dl=length($0);
  77. if ($0~/\*+\*$/ && (length($0)==dl))  tmp1++;
  78. if ($0~/^\* +\*$/ && (length($0)==dl))  tmp2++;
  79. }
  80. END {if(tmp1==2 && (tmp1+tmp2==dl)&& dl==NR)  print "OK"; else print"ERROR";}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement