怎么把所有txt文件中的相同行找出来并写入一个文件

如txt文件中都含有这一行
11 ok okk okk ok
怎么把所有文件中含有11这一行的内容全部拷入一个文件内呢

如何利用批处理运行,如果是excel这样筛选太慢了,如果我有1000或者10000个txt我岂不是要每一个都要查找了....

可以使用excel表格的公式查找功能。

 

步骤:

1    将你的源文件的所有文本拷贝到另外一张excel表格中形成一列A

2    在B列输入你的计算公式,假如这里你要查找以"11"开头的字串,可以按如下格式输入公式:

3    对B列进行筛选,将所有符合条件的行筛选出来

4    拷贝(选中,CTRL+C)筛选后的元素

5    将拷贝好的内容保存到另一个TXT文件,如下是源文本和目标文本的对比:

 

如果需要其他规则,可以自己更改公式。

追问

谢谢,可是不是我想要的答案。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-13

用C语言写一个程序:

1.txt

1 2 3 4 5
1 2
-1 1 0 15
78 9 10


2.txt

-1 1 0 15
1 2 3 4 5

3.txt

1 2 3 4 5
-1 1 0 15

#include <stdio.h>
#include <string.h>
#define N 255
int freadline(FILE *fp,char *A)
  {
    int i=0;
    char c;
    do 
     {
          c=fgetc(fp);
          if (c==EOF)
            {
              A[i]='\0';
              return EOF;
            } 
          if (c=='\n')
            {
              A[i]='\0';
              return i;
            }
          A[i++]=c;
     }while (1);
}
int main(int argc,char **argv)
{FILE *fp1,*fp2,*fp3;
 char a[N],b[N];
 char f1[N],f2[N],f3[N];
 int status1,status2;
printf("请输入第一个文件名:\n");
gets(f1);
printf("请输入第二个文件名:\n");
gets(f2);
printf("请输入输出文件名:\n");
gets(f3);
fp1=fopen(f1,"rt");
fp3=fopen(f3,"wt");
while(((status1=freadline(fp1,a))!=EOF)|(strlen(a)!=0))
 {
  printf("a=%s\n",a);
 fp2=fopen(f2,"rt");
 while ((status2=freadline(fp2,b))!=EOF|(strlen(b)!=0))
   {
     printf("b=%s\n",b);
     if (strcmp(a,b)==0) {printf("找到一个%s\n",a);fputs(a,fp3);fputc('\n',fp3);break;}
     if (status2==EOF) break;
   } 
  fclose(fp2);
  if (status1==EOF) break;
  }
fclose(fp1);fclose(fp3);
getchar();
return (0);
}

 

本回答被提问者采纳
相似回答