[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
还是全部放进gawk里吧,参考下面的
  1. BEGIN{
  2. for(i=1;i<1799;i++){
  3. for(j=1;j<8;j++){
  4. dictxt=sprintf("d:\\HY\\%06d\\%06d_%d.txt",i,i,j);
  5. reptxt=sprintf("e:\\ZD\\GD\\%06d\\%06d_%d.txt",i,i,j);
  6. while(getline <reptxt){
  7. split($0,sp,"=");
  8. 处理替换文本;
  9. }
  10. while(getline <dictxt){
  11. split($0,sp,"=");
  12. 处理字典文本;
  13. }}
  14. 统计并提取重复N次的字符;
  15. 打印输出;
  16. }}
复制代码
1

评分人数

TOP

回复 11# 思想之翼
参考下面的,直接保存成文件,然后用gawk -f 选项,例如gawk-f awk.txt
因为全放进gawk里面,其他bat代码就不需要了
注意:
没用过windows的gawk,不知道有无问题
没有处理细节,例如要处理的文件不存在时可能会无限循环
当然你也可以将代码弄成只有一行的来使用(注意特殊字符)
  1. BEGIN{
  2. for(i=1;i<1799;i++){
  3. for(j=1;j<8;j++){
  4. dictxt=sprintf("d:\\HY\\%06d\\%06d_%d.txt",i,i,j);
  5. reptxt=sprintf("e:\\ZD\\GD\\%06d\\%06d_%d.txt",i,i,j);
  6. while(getline <reptxt){
  7. b[$0]++;
  8. }
  9. while(getline <dictxt){
  10. split($0,sp,"=");
  11. if(b[sp[1]]){a[sp[2]]++;}
  12. }
  13. delete b;
  14. }
  15. outtxt=sprintf("e:\\TQ\\GD\\%06d_%d.txt",i,i);
  16. for(k in a){if(a[k]==7)print(k) >outtxt;}
  17. delete a;
  18. }}
复制代码
1

评分人数

TOP

返回列表