- 论坛徽章:
- 2
|
本帖最后由 damcool 于 2014-01-01 14:15 编辑
嗨~!现在的年轻人一点点代码调试能力都没有!刚刚找到电脑,看了一下原来的代码只要去掉xargs后面的-i和{}就可以正常运行了。- cat "$FNAME"|awk -v B64="$BASE64CODE" '{while(length()){split(substr($0,1,4),a,"");$0=substr($0,5);t=0;for(i=3;i>=0;i--) t=t+2^(6*i)*((a[4-i]=="=")?0:index(B64,a[4-i])-1);for (i=2;i>=0;i--) if (a[4-i]!="="){printf("\\\\\\x%X",t/2^(8*i));t=t%2^(8*i)}}printf"\n"}'|xargs printf
复制代码 或者- for raw_data in $(cat "$FNAME"|awk -v B64="$BASE64CODE" '{while(length()){split(substr($0,1,4),a,"");$0=substr($0,5);t=0;for(i=3;i>=0;i--) t=t+2^(6*i)*((a[4-i]=="=")?0:index(B64,a[4-i])-1);for (i=2;i>=0;i--) if (a[4-i]!="="){printf("\\\\x%X",t/2^(8*i));t=t%2^(8*i)}}printf"\n"}'); do printf "$raw_data";done
复制代码 |
|