edlopez

./xp2-virtual-object.awk

Sep 20th, 2011
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Awk 1.12 KB | None | 0 0
  1. #!/bin/awk
  2. # sample: awk -f ./xp2-virtual-object.awk ./emotions/01-Peur.txt
  3.  
  4. BEGIN {
  5.   ROWS_TO_SKIP = 1; # how many row to skip (if there is header)
  6.     uid=1;
  7.   outFilename="user";
  8.   FS=",";
  9. }
  10.  
  11. {
  12.   rowObject[NR] = toBinary($0);
  13. }
  14.  
  15. function toBinary(r)
  16. {
  17. #  printf("%s\n", r);
  18.   return sprintf("%s", gensub(",", "", "g" , r));
  19. }
  20.  
  21. function distance(a, f)
  22. {
  23.   dist = ""
  24.   for (i=1;i<=16;i++)
  25.   {
  26. #    printf("[%s+%s]\n", dist, and(substr(a, i, 1), substr(f, i, 1)));
  27.     dist = dist and(substr(a, i, 1), substr(f, i, 1));
  28.   }
  29.   return dist;
  30. }
  31.  
  32. END {
  33.   for (anchor=1; anchor<=NR; anchor++)
  34.   {
  35.     cur = rowObject[anchor];
  36.     for (forward=anchor+1; forward<=NR; forward++)
  37.     {
  38.       printf("[%s]:\n\t%s\n\t%s\nAND: \t%s\n", anchor, rowObject[anchor], rowObject[forward], distance(rowObject[anchor], rowObject[forward]));
  39. #      if (rowObject[forward] <= (cur+TIME_THRESHOLD))
  40. #      {
  41. #        printf("%d,%d [%d -> %d]\n", anchor, forward, rowObject[anchor], rowObject[forward], rowObject[forward]-rowObject[anchor]);
  42. #      } else
  43. #      {
  44. #        break;
  45. #      }
  46.     }
  47.   }
  48.   printf("\n");
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment