如何从文本文件列表中的单词中删除行?

2023-12-06

file1 > word_list.txt > 超过 1,000,000 行

file2 > list.txt > 超过 1,000,000 行

我有一个包含单词列表的文件。我想从一个大文本文件中删除此文件中所有单词的所有出现。

Example:

File 1

111
222

文本文件样本

111
222
333
444
555

Output

333
444
555

对于超过 100 万行的大文件,此代码会非常慢:

sed -e "$(sed 's:.*:s/&//ig:' word_list.txt)" list.txt

解决这个问题最合适的方法是什么?


假设, 文件的结构是每行一个单词,每个文件中的单词都是唯一的,文件可以排序(或已经按排序顺序)

$ comm -13 file1 file2

333
444
555

-1   suppress lines unique to file1
-3   suppress lines that appear in both files 

这将为您提供 file2 中不在 file1 中的唯一单词(即设置差异 file2 \ file1)

这应该是最快的方法。如果您可以测试替代解决方案,请发布时间。

或者,

$ awk 'NR==FNR{a[$0]; next} !($0 in a)' file1 file2

只要你有足够的内存就应该可以工作。这不需要排序。

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

如何从文本文件列表中的单词中删除行? 的相关文章

  • 用于计算数据文件中数字列表的平均值的脚本

    文件data txt包含以下内容 1 00 1 23 54 4 213 2 3 4 脚本的输出应该是 ave 54 646 一些简单的脚本是首选 这是一种方法 awk s 1 END print ave s NR RS file ave 5
  • 在 shell 脚本中将一个子字符串替换为另一个字符串

    我有 我爱苏子并结婚 我想将 苏子 更改为 萨拉 firstString I love Suzi and Marry secondString Sara 期望的结果 firstString I love Sara and Marry 要更换
  • awk 的 printf 插入多个变量的正确语法是什么?

    我复制了一些使用 printf 输出字符串在文件中出现的频率的代码 awk BEGIN print The number of times a appears in the file a a counter 1 END printf s n
  • 如何使用 bash 测试文件系统的目录限制

    我需要测试可以在文件系统 网络安装驱动器和本地 USB 驱动器 上创建多少目录和文件 我现在使用这个 bash 行 for i in 0 999999 do mkdir p i pushd i done 我知道可能可以做得更好 并且我想知道
  • Bash 脚本:将数组作为参数传递给函数并打印数组

    我将一个数组传递给一个函数并尝试打印该数组的每个元素 下面是数组参数周围带有引号的代码片段 bin bash print array array for i in array with quotes do echo i done ar 1
  • 如何从 mysqldump 中删除表

    如何删除 mysqldump 中包含大量表的一个大表的输出 我有一个 6 GB 大的数据库转储 但其中 90 只是一个日志记录表 cache entries 我的备份中不再需要它 如何轻松删除转储中描述大型日志记录表的部分 我找到了这个 h
  • shell中如何求数组的长度?

    shell中如何求数组的长度 例如 arr 1 2 3 4 5 我想得到它的长度 在本例中是 5 a 1 2 3 4 echo a 4
  • 检查 Bash 数组中是否存在元素[重复]

    这个问题在这里已经有答案了 我想知道是否有一种有效的方法来检查 Bash 数组中是否存在元素 我正在寻找类似于我可以在Python中做的事情 例如 arr a b c d if d in arr do your thing else do
  • 在 BASH 脚本中使用字符串作为变量名

    我有以下内容 bin sh n fred bob f n echo f 我需要在替换后执行底线 echo n 有办法做到这一点吗 我刚刚得到 test sh line 8 f bad substitution 在我这边 您可以像这样使用数组
  • 为什么是 ”& ;”无效的语法?

    我正在尝试在终端上运行 for 循环 我希望将每次迭代发送到后台进程 以便所有迭代同时运行 以下是命令一一运行 for i in sra do fastq dump split files i done only 我突出显示了分号 要同时运
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 如何使用 bash 中提供的工具生成一系列非周末日期?

    我想生成一个文件列表 其中名称包含 filename date 例如file 20111101 file 20120703 开始November 1 2011直到今天 应该不包括周末 Thanks 2011年试试这个 for y in 20
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 在 bash 中,如何除以两个变量并输出四舍五入到小数点后 5 位的答案? [复制]

    这个问题在这里已经有答案了 我将两个变量作为输入 将它们相除后 我希望将输出四舍五入到小数点后 5 位 我已经尝试过这种方法 gt sum 12 n 7 output scale 5 sum n bc echo output 我的代码没有显
  • Docker exec linux 终端创建别名

    我有一个正在运行且独立的容器 我想在附加到该容器之前创建一个命令别名 当我连接到容器并输入 alias bar foo 创建别名 并可以通过以下方式检查 alias command 但如果我想做同样的事情码头执行者命令即这样 docker
  • Bash touch - 非法选项 -d

    昨天我拍了很多照片 但我忘记更改相机中的时区 现在所有图片的修改日期都有错误 我想将特定目录中所有文件的修改日期更改为minus 10 hours bin sh for i in Users slick Desktop 100D5200 d
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 捕获并邮寄 bash 脚本错误

    我有一个脚本 每晚在 cron 中运行 为网络上的多个主机备份一些 postgres 数据库 我有一种方法可以通过利用退出状态来收到脚本失败的警报 但它没有告诉我失败的原因 根据以下代码 我如何捕获脚本运行时发生的任何错误 并将其通过电子邮
  • 独特的 Linux 文件名,可按时间排序

    以前我用的是uuidgen http man7 org linux man pages man1 uuidgen 1 html创建唯一的文件名 然后我需要通过 bash 脚本按日期 时间迭代该文件名 从那时起 我发现简单地通过 ls l 循
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na

随机推荐

  • 使用密度图对特定区域进行着色 - ggplot2

    我有一个关于数据可视化的问题ggplot2 我试图弄清楚如何在密度图中遮蔽特定区域 我用谷歌搜索了很多 并尝试了所有解决方案 我的代码是 original 12 lt data frame sum rnorm 100 30 5 sex c
  • 使用 PHP CLI 执行路由(控制器/操作)并检测 CLI 请求

    Laravel 4 中有没有办法使用 PHP CLI 运行我的控制器 操作 如果请求来自 CLI 我想扩展一个控制器 操作来执行替代操作 那么有没有办法将该请求识别为 CLI 请求 Laravel 文档这个网站似乎表明有一个方法 Reque
  • 下面的宏可能会给应用程序带来什么问题?

    下面的宏会带来问题吗 define sq x x x 如果是 那么如何以及为什么 请帮忙 是的 它可能会带来问题 除了宏根本不尊重命名空间这个明显的事实 这意味着你不能调用其他任何东西 sq 请尝试以下操作 int result sq 4
  • 如何开始使用 Skobbler 跟踪 POI

    这是我用于创建可跟踪 POI 并启动 POI 跟踪的代码 该代码放置在我计算路线并开始导航之前 void createTrackablePOIs Go through the route array and create POIs out
  • 针对大动态响应进行断言

    我有一个非常大的响应数组 我想对其进行断言 但不知道顺序 我有一个具有预期响应值的变量 因此我可以进行一次巨大的比较 但我无法加载整个响应并同时将其与整个预期响应变量进行比较 def obligationsQuery Java type t
  • 与“iPad 2”失去连接

    我已经停止了所有模拟器进程 但仍然出现以下错误 恢复与 iPad 2 的连接并再次运行 APPNAME 或者如果 APPNAME 仍在运行 您可以通过选择 调试 gt 附加到进程 gt APPNAME 来附加到它 在 Xcode 6 中出现
  • 将位序列传递给文件 python

    作为较大项目的一部分 我想在文件中保存一系列位 以使文件尽可能小 我不是在谈论压缩 我想按原样保存序列 但使用最少的字符 最初的想法是使用 ASCII 编码将 8 位的迷你序列转换为字符并保存这些字符 但由于一些未知的奇怪字符问题 读取文件
  • 如何创建文本通道

    最近我一直在制作一个不和谐的机器人 我想在玩家输入命令后创建一个频道 gt report Tag Reason 以下是我尝试过的两种方法 其中一种来自之前的 StackOverflow 问题 但对我不起作用 function makeCha
  • MVC2.0中捕获HTML到字符串

    我是 MVC2 0 的新手 我使用下面的代码捕获 HTML 并将其作为字符串返回 但这在 MVC1 0 和 NET 3 5 框架中工作得很好 最近我将代码升级到 NET 4 0和MVC 2 0 现在这不再起作用并且上下文返回 null 当我
  • 没有“Access-Control-Allow-Origin”:读取 CSV、D3 [重复]

    这个问题在这里已经有答案了 我正在尝试从源读取 csvhttps stats oecd org Index aspx DataSetCode WILD LIFE 令 x 为上面的 url 但是 当我在本地主机上运行此脚本时 我收到以下消息
  • 调试 Android RuntimeException - 在我的代码执行之前

    我对 Java 并不陌生 但对 Android 平台却很陌生 我发现平台的缺点之一是对运行时崩溃的有意义的反馈 在应用断点的用户代码中很好 但我在第一次运行时发生崩溃 导致我的项目无法启动 并且我看不到追踪它的方法 任何人都可以阐明吗 Da
  • 应用程序特定信息:应用程序未能及时启动(iOS)?

    这是我的一份崩溃报告的顶部 Apple 是否规定了应用程序启动超时限制 如果是这样 有什么常见的解决方法吗 Elapsed total CPU time seconds 13 700 user 8 580 system 5 120 67 C
  • 在android中对字符串数组列表进行排序[重复]

    这个问题在这里已经有答案了 我有一个名为的字符串数组列表names 如何按字母顺序对数组列表进行排序 ArrayList
  • 如何添加对 .NET MySQL 连接器的引用?

    这是什么意思 接下来添加对 MySql Data 的引用 实际上我已经下载了mysql连接器 net 请按照以下说明操作 首先 您需要安装mysql连接器 net 它位于 http dev mysql com downloads conne
  • 如何从 .net 中的框架外的 Webbrowser 控件检索 HTML (c#)

    我知道我可以通过以下方式获取 Webbrowser 控件的 HTML 源代码 HtmlDocument htmldoc webBrowser1 Document 但这只提供了 父页面 的html代码 如果网页使用框架 则不会返回包括框架在内
  • 我如何告诉 Moq 返回任务?

    我有一个接口声明 Task DoSomethingAsync 我使用 Moq 框架进行测试 TestMethod public async Task MyAsyncTest Mock
  • 如何使用 JAVASCRIPT 播放和暂停嵌入的 Spotify?

    有人可以解释一下如何播放和暂停这个 Spotify 嵌入对象吗 我试图找到该玩家的 ID 但找不到 URL https open spotify com embed podcast show 5iKz9gAsyuQ1xLG6MFLtQg 这
  • 在 AVX2 中重现 _mm256_sllv_epi16 和 _mm256_sllv_epi8

    我很惊讶地看到 mm256 sllv epi16 8 m256i v1 m256i v2 and mm256 srlv epi16 8 m256i v1 m256i v2 不在英特尔内联指南我没有找到任何解决方案来仅使用 AVX2 重新创建
  • 无法在 Ubuntu 上安装 Elastic Beanstalk CLI

    我正在尝试使用以下命令在新的 Ubuntu 14 04 在适用于 Windows 的 Linux 子系统上 上安装 Elastic Beanstalk CLI awsebcli sudo pip install awsebcli 但启动eb
  • 如何从文本文件列表中的单词中删除行?

    file1 gt word list txt gt 超过 1 000 000 行 file2 gt list txt gt 超过 1 000 000 行 我有一个包含单词列表的文件 我想从一个大文本文件中删除此文件中所有单词的所有出现 Ex