查找 对比 两个文件之间的相同部分 的俩种解决方式

查找 两个文件之间的相同部分

第一种方式:使用grep

以从file1.txt和file2.txt中抽离出相同部分为例,注意:文件都是已经排好序的

grep -wf file1.txt file2.txt > same.txt

第二种方式:使用 word

在Word中本身就有这样一个功能,可以自动帮助我们检测处修改痕迹,删除痕迹,以及添加内容等等,非常方便。进入【审阅】-【比较】-【比较】放入俩个文件 稍等一会便会出来结果

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现: 1. 打开第一个txt文件并读取每一行,将每一行存储到一个数组中。 2. 打开第二个txt文件并读取每一行,将每一行与第一个数组中的每一个元素进行比较,如果相同则输出该行。 3. 关闭两个文件并结束程序。 下面是一个简单的示例代码: ```c #include <stdio.h> #include <string.h> #define MAX_LINES 1000 #define MAX_LENGTH 100 int main() { FILE *file1, *file2; char lines1[MAX_LINES][MAX_LENGTH], lines2[MAX_LINES][MAX_LENGTH]; char *line1, *line2; int i, j, num_lines1 = 0, num_lines2 = 0; // 打开第一个txt文件并读取每一行 file1 = fopen("file1.txt", "r"); if (file1 == NULL) { printf("Error opening file1.txt"); return 1; } while (fgets(lines1[num_lines1], MAX_LENGTH, file1) != NULL) { // 去掉行末的换行符 lines1[num_lines1][strlen(lines1[num_lines1]) - 1] = '\0'; num_lines1++; } fclose(file1); // 打开第二个txt文件并读取每一行 file2 = fopen("file2.txt", "r"); if (file2 == NULL) { printf("Error opening file2.txt"); return 1; } while (fgets(lines2[num_lines2], MAX_LENGTH, file2) != NULL) { // 去掉行末的换行符 lines2[num_lines2][strlen(lines2[num_lines2]) - 1] = '\0'; num_lines2++; // 将每一行与第一个数组中的每一个元素进行比较,如果相同则输出该行 for (i = 0; i < num_lines1; i++) { if (strcmp(lines2[num_lines2 - 1], lines1[i]) == 0) { printf("%s\n", lines2[num_lines2 - 1]); break; } } } fclose(file2); return 0; } ``` 注意:上述代码中使用了 fgets 函数来读取每一行,如果行的长度超过 MAX_LENGTH,则只会读取部分内容。如果需要处理更长的行,请适当增加 MAX_LENGTH 的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值