尝试比较两个文本文件,并根据信息创建第三个文本文件

2023-11-26

我有两个文本文件,master.txt 和 926.txt。如果 926.txt 中有一行不在 master.txt 中,我想写入一个新文件,notinbook.txt。

我写了我能想到的最好的东西,但考虑到我是一个糟糕的/新手程序员,它失败了。这是我所拥有的

g = File.new("notinbook.txt", "w")
File.open("926.txt", "r") do |f|
  while (line = f.gets)
    x = line.chomp
    if
      File.open("master.txt","w") do |h|
      end
      while (line = h.gets)
        if line.chomp != x
          puts line
        end
      end
    end
  end
end
g.close

当然,它失败了。谢谢!


这应该有效:

f1 = IO.readlines("926.txt").map(&:chomp)
f2 = IO.readlines("master.txt").map(&:chomp)

File.open("notinbook.txt","w"){ |f| f.write((f1-f2).join("\n")) }

这是我的测试:

926.txt

line1
line2
line3
line4
line5

主控.txt

line1
line2
line4

notinbook.txt

line3
line5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试比较两个文本文件,并根据信息创建第三个文本文件 的相关文章

  • “单词的正则表达式”(语义替换)-任何示例语法和库吗?

    我正在寻找在给定过程语言的情况下对单词而不是字符进行正则表达式样式转换的常用技术的语法示例 例如 为了追踪复制 人们可能想要创建一份具有相似含义但具有不同单词选择的文档 我希望能够简洁地定义这些可以应用于文本流的可能的转换 例如 快速地no
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 从字符串名称返回 FontStyle

    我想编写一个函数 它将返回 FontStyle 并以字符串作为参数 FontStyle f function Italic FontStyles Italic 我不想编写 Switch case 或 if else 语句来执行相同的操作 对
  • Ruby 依赖注入库

    我一直在研究一些 Ruby 依赖注入库 特别是 我检查了Needle http needle rubyforge org and Copland http copland rubyforge org 它们已经存在很长一段时间了 但用途并不多
  • 如何用水豚填充日期时间本地字段?

    我正在使用 Cocoon 添加记录 ID 看起来像workshop instance sessions attributes 1477654140 start time 目前 我正在遍历 DOM 并获取动态生成的 ID 这很好用 这样我就可
  • rvm编译安装ruby 2.5.0出错

    我正在尝试使用 rvm 安装 ruby 2 5 0 但出现错误 我在 Ubuntu 18 16 和现在的 Linux Mint Cinnamon 上尝试过 基本上我在运行安装 ruby 的代码之前所做的是 打开 GPG 密钥https rv
  • 如何覆盖 Ruby Ranges 的 .. 和 ... 运算符以接受 Float::INFINITY?

    我想覆盖 and Ruby 中的运算符Range 原因是 我正在处理数据库中的无限日期范围 如果你拉一个infinty从 Postgres 中取出日期时间 你会得到一个Float INFINITY在红宝石中 问题是 我无法使用Float I
  • gets、gets.chomp 和 gets.chomp 之间的区别!?

    这三者有什么区别 gets 它得到一行带有 n gets chomp 它得到一行 但删除 n 那是对的吗 关于什么gets chomp gets http www ruby doc org core 2 1 0 Kernel html me
  • 使用 R 读取和转换二进制原始数据

    我有一个file https drive google com file d 0BxMpk0nhnJy6SFhxd2xuMzJYYlk edit usp sharing其中包含原始 二进制数据和 ascii 它包含一个时间戳和一个代表速度的
  • 获取块参数个数

    我需要获取给定块所采用的参数数量 例如 foobar 1 2 3 a b c def foobar x y z block need to obtain number of arguments in block which would be
  • SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器证书 B:证书验证仅在代理时失败

    这篇文章几乎重复了许多其他帖子 包括Rails 4 和 Ruby 2 Net HTTP SSL 请求 OpenSSL SSL SSLError SSL connect returned 1 errno 0 state SSLv2 v3 re
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • Ruby 枚举器中的“break”与“raise StopIteration”

    如果我使用 Ruby Enumerators 来实现生成器和过滤器 generator Enumerator new do y x 0 loop do y lt lt x x 1 break if x gt CUTOFF end end l
  • 将 Java 字符串转换为 sql.Timestamp

    收到以下格式的字符串 YYYY MM DD HH MM SS NNNNNN 时间戳来自 DB2 数据库 我需要将其解析为 java sql Timestamp 并且不丢失任何精度 到目前为止 我一直无法找到现有的代码来解析远至微秒的数据 S
  • 无论如何要抓取重定向的链接吗?

    无论如何 我可以让 python 单击一个链接 例如 bit ly 链接 然后抓取生成的链接吗 当我抓取某个页面时 我唯一可以抓取的链接是重定向的链接 它重定向到的位置就是我需要的信息所在的位置 重定向有 3 种类型 HTTP 作为响应标头
  • 如何从 ruby​​ 中的字符串名称创建类实例?

    我有一个类的名称 我想创建该类的一个实例 以便我可以循环该类的架构中存在的每个 Rails 属性 我该怎么做呢 我的名称是我想要检查的类的字符串 我想我需要实例化一个类实例 以便我可以 循环遍历它的属性并打印它们 在 Rails 中你可以这
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • 如何从 ruby​​ 中的字符串中删除所有非数字?

    用户输入数字的形式如下 1 800 432 4567 800 432 4567 800 432 4566 800 432 4567 1 800 432 4567 800 432 4567 我希望所有这些都变成没有特殊字符的剥离版本 例如18
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被

随机推荐

  • OpenCV 2.4.9 for Python,找不到棋盘(相机标定教程)

    我正在尝试根据以下内容使用 OpenCV 工具校准相机本指南 问题是这个函数findChessboardCorners在我尝试过的图像上找不到任何棋盘 我用了很多 甚至只是简单的棋盘图案 无论如何 什么也没有被发现 这是代码 几乎与上面的链
  • Windows下在adb中运行vi

    偶尔 我会想要编辑一个文件 比如我的 Android 设备上的 system build prop 或 etc hosts 我发现最简单的方法是 c gt adb shell su vi etc hosts 如果我使用 Linux 这工作得
  • 在模型类中使用 javafx.beans 属性

    在模型类中使用 JavaFX beans 属性是否正确 我想知道在模型类中使用属 性以便能够更轻松地将它们与视图组件绑定是否是一个好习惯 我并不担心这些库将来的可用性 因为我的程序将在 JRE8 或更高版本上运行 但在模型类中使用 Java
  • 将多个连续的连字符替换为一个

    这在 JavaScript 中可能吗 我从 Java 中得到了这个 但不能在 Javascript 中使用 s 2 g 还有其他有效的方法吗 是的 您可以在 Javascript 中使用相同的正则表达式replace method s re
  • 如何在 RockMongo 或 mViewer 上的 mongodb 客户端中运行聚合查询

    我刚刚开始使用 mongo db 我使用 rockmongo 客户端和我的 ubuntu 终端作为另一个客户端 我已经使用组聚合实现了查询 如下所示 db archiveImpl group key accountID true phone
  • 如何复制debug.keystore文件?

    我有同样的问题Android Google 地图在我的计算机之外无法运行 并且在解决方案中 看起来确保我团队中的每个人都拥有相同的 keystore 文件将解决问题 但是 keystore 文件是隐藏的 我想它也以某种方式加密 您不能仅使用
  • Tensorboard - 可视化 LSTM 的权重

    我使用多个 LSTM 层来形成深度循环神经网络 我想在训练期间监控每个 LSTM 层的权重 但是 我不知道如何将 LSTM 层权重的摘要附加到 TensorBoard 关于如何做到这一点有什么建议吗 代码如下 cells with tf n
  • Excel有地图或选择功能吗?

    我有一行字符串值 我想做一个vlookup对每个结果进行计算 然后计算结果的平均值 如果这是 C 我会做Select str gt VLookup str dict Average 有没有办法在单个 Excel 函数中做到这一点 我用的是2
  • 确定浏览器是否具有拖放功能?

    我正在实施jQuery 文件上传并试图找出检测客户端是否可以支持拖放的最佳方法 这样我就可以渲染诸如 将文件拖放到此处上传 之类的内容 只有当他们实际上可以做到这一点时 在插件代码中我可以看到一个函数isXHRUploadCapable这似
  • 从 requirejs 映射调用文本插件

    我正在使用 TypeScript Backbone 和 Mustache 编写一个 Web 应用程序 我想使用 Requirejs 进行依赖加载 我还使用 TypeScript 的 Web Essentials Visual Studio
  • 是否可以覆盖“呼叫”功能?

    是否可以在通用级别上重写 调用 函数 以便每次在应用程序中的任何位置调用方法时都会发生一些情况 我尝试覆盖 Object call 但尽管我设法做到了 但它并没有改变我的应用程序的工作方式 顺便说一句 即使它有效 我是否应该每次都显式调用
  • Perl 正则表达式中的单独反向引用后跟数字文字

    我发现这个相关问题 在 perl 中 替换文本中的反向引用后跟数字文字但看起来完全不同 我有一个像这样的正则表达式 s 0 9 xy 1 1 2 g whitespace here 但这个空白出现在替换中 如何在不让 perl 混淆反向引用
  • 图层中的子集参数不再适用于 ggplot2 >= 2.0.0

    我更新到最新版本了ggplot2并在层中打印子集时遇到问题 library ggplot2 library plyr df lt data frame x runif 100 y runif 100 ggplot df aes x y ge
  • Android - 如何检查互联网访问,而不仅仅是 wifi 连接? [复制]

    这个问题在这里已经有答案了 我尝试使用下面的代码来检查我的手机是否已连接到无线网络 当我想知道我的手机是否已连接到网络时 它运行良好 但它无法提供有关互联网访问的信息 类似于 Ping 任何网站 实际上我遵循了很多链接但仍然没有答案 所以如
  • 强制 phpmailer 发送正文为空的邮件

    我需要使用 phpMailer 将 pdf 文件作为附件发送到传真网关 如果此电子邮件有正文 则传真将有第二页包含此文本 通过说 mail gt Body php 邮件返回Message body empty 如何强制 phpMailer
  • 在 eclipse 中调试 GRAILS 3

    我想知道是否有任何方法可以通过从 eclipse mars IDE 中单击来调试 Grails 3 应用程序 就像 Java 或 Java Spring Boot Web 应用程序一样 可以执行以下操作 在服务器上调试 可以 运行为 gra
  • 是否可以逐行调试 bash 脚本?

    我会喜欢 Microsoft Visual Studio 中的逐行调试之类的功能bash 当前变量值等等 有什么工具或方法可以做到吗 set x and set v不错 但并不完美 See bashdb 如果您的系统上安装了它 请参阅man
  • 在线性时间内从排序数组构建红黑树

    我知道如何通过 n 次插入来构建它 每次插入的效率为 O log n n log n 总体 我还知道 2 3 4 树的等效结构也可以用线性时间从排序数组构建 谁能提供有关红黑版本的简单解释吗 无论您要构建哪种 BST 算法将是相同的 只需要
  • 了解 Rails 迁移语句 (:null => false)

    我试图理解以下声明 它来自 Rails 迁移文件 x datetime new null gt false x datetime update null gt false 我理解这两个语句的第一部分 逗号之前的所有内容 但我不确定空部分 n
  • 尝试比较两个文本文件,并根据信息创建第三个文本文件

    我有两个文本文件 master txt 和 926 txt 如果 926 txt 中有一行不在 master txt 中 我想写入一个新文件 notinbook txt 我写了我能想到的最好的东西 但考虑到我是一个糟糕的 新手程序员 它失败