- 论坛徽章:
- 145
|
本帖最后由 jason680 于 2016-01-05 18:18 编辑
回复 1# bikkuri
Note: debug by yourself with busybox and awk null (ASCII 0) issue
$ awk 'BEGIN{RS="@#*#@";for(n=1;n<=255;n++)a[sprintf("%c",n)]=n}FNR==NR{y=length-1;for(n=1;n<=y;n++)b[n]=a[substr($0,n,1)];next}{x=length;s="";for(n=1;n<=x;n++)s=s sprintf("%c",xor(a[substr($0,n,1)],b[y-n%y]));printf("%s",s)}' b a > a.x
$ awk 'BEGIN{RS="@#*#@";for(n=1;n<=255;n++)a[sprintf("%c",n)]=n}FNR==NR{y=length-1;for(n=1;n<=y;n++)b[n]=a[substr($0,n,1)];next}{x=length;s="";for(n=1;n<=x;n++)s=s sprintf("%c",xor(a[substr($0,n,1)],b[y-n%y]));printf("%s",s)}' b a.x > c
$ diff a c
$ ls -l a b c
-rw-rw-r-- 1 jason jason 29 Jan 5 17:45 a
-rw-rw-r-- 1 jason jason 11 Jan 5 17:44 b
-rw-rw-r-- 1 jason jason 29 Jan 5 18:07 c
$ cat a b c
Tue Jan 5 17:45:03 CST 2016
1451987093
Tue Jan 5 17:45:03 CST 2016
|
|