[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]VBS如何匹配相同的字符串然后提取出相应的信息?

NEW_DG文件中的内容是这样的:
DG00127
DG01164
DG00132
DG01672
DG00188
DG01672
DG01672
DG01672
DG01158
DG01672
DG01672
DG00126
DG01157
DG01672
DG01672
DG01731
DG01672
DG01672
DG00183
DG01672


$DG中的内容是这样的:
DG00001        10147
DG00002        10148
DG00003        10149
DG00004        10150
DG00005        10151
DG00006        10152
DG00007        10153
DG00008        10154
DG00009        10155
DG00010        10156
DG00011        10157
DG00012        10158
DG00013        10159
DG00014        10160
DG00015        10161
DG00016        10162
DG00017        10163
DG00018        10164
DG00019        10165
DG00020        10166
DG00021        10167
DG00022        10168
DG00023        10169
DG00024        10170


我想用NEW_DG文件去匹配$DG,找到相同的字符串则把$DG中的那一行提取出来放到新的txt中,下面是我的程序,得出来的结果是正确的,但是却对提取的结果进行了排序,我不希望排序,只想与NEW_DG文件中字符串的顺序一样,大神谁有办法~~不胜感激!:
  1. #&Gawk -f %0  $DG.txt&Exit
  2. BEGIN {
  3.     while((getline<"NEW_DG.txt")>0) type1[a++]=$0;
  4.     for(i=1;i<2;i++) printf("ENTRY                 \n")>>"$type"i".txt";
  5. }
  6. NR>1{
  7.     for(i in type1)
  8.         if($1==type1[i]) print $0 >>"$NR.txt";
  9. }
复制代码
得出来的结果是这样的
DG00002        10148
DG00002        10148
DG00003        10149
DG00003        10149
DG00003        10149
DG00003        10149
DG00004        10150
DG00004        10150
DG00005        10151
DG00005        10151
DG00005        10151
DG00006        10152
DG00006        10152
DG00006        10152
DG00006        10152
DG00007        10153
DG00007        10153


明显进行了排序。。。。这样不正确~求改正~求方法
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

都没人理嘛。。。。

TOP

求解答~~~指点一下也好啊

TOP

回复 4# pcl_test


    大神,要不要这么屌~才看到您的回答~~~

TOP

返回列表