- 论坛徽章:
- 18
|
今天又试了一下,发现您的代码只能处理纯文本文件,处理不了二进制文件。- [box@adeacbce0ed7:~/test]$ date|gzip -c > a
- [box@adeacbce0ed7:~/test]$ date +%s|gzip -c > b
- [box@adeacbce0ed7:~/test]$ ls -l
- total 8
- -rw-r--r-- 1 box gpub 49 Jan 9 09:53 a
- -rw-r--r-- 1 box gpub 31 Jan 9 09:53 b
- [box@adeacbce0ed7:~/test]$ 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: (FILENAME=a FNR=1) fatal: division by zero attempted in `%'
复制代码 回复 5# jason680
|
|