从文本文件中删除带有另一个文件中的行号的行

2024-03-10

我有一个文本文件,其中包含一个巨大的行号列表,我必须从另一个主文件中删除它。这是我的数据的样子

行.txt

1
2
4
5
22
36
400
...

and documents.txt

string1
string2
string3
...

如果我有一个简短的行号列表,我可以轻松使用

sed -i '1d,4d,5d' documents.txt.

但有很多行号我必须删除。另外,我可以使用 bash/perl 脚本将行号存储在数组中,并回显不在数组中的行。但我想知道是否有一个内置命令可以做到这一点。

任何帮助将不胜感激。


awk oneliner 应该适合你,请参阅下面的测试:

kent$  head lines.txt doc.txt 
==> lines.txt <==
1
3
5
7

==> doc.txt <==
a
b
c
d
e
f
g
h

kent$  awk 'NR==FNR{l[$0];next;} !(FNR in l)' lines.txt doc.txt
b
d
f
h

正如莱文建议的那样,我添加一些解释:

awk                     # the awk command
 'NR==FNR{l[$0];next;}  # process the first file(lines.txt),save each line(the line# you want to delete) into an array "l"

 !(FNR in l)'           #now come to the 2nd file(doc.txt), if line number not in "l",print the line out
 lines.txt              # 1st argument, file:lines.txt
 docs.txt               # 2nd argument, file:doc.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从文本文件中删除带有另一个文件中的行号的行 的相关文章

随机推荐

  • 在高负载的 .ashx http 处理程序中将记录附加到磁盘文件的最快、最安全的方法是什么?

    在 net4 IIS7 的高度并行 Web 环境中将记录写入 附加 文件的最佳选项是什么 我使用 ashx http 处理程序来接收应快速写入文件的小部分数据 首先我使用 using var stream new FileStream fi
  • 如何更改Android复选框的背景?

    我有 android checkBox 并且默认背景是透明的 我希望它是白色的 所以我使用样式 并设置复选框主题
  • 无限循环中创建的对象的垃圾收集

    我有一个非常基本的问题 我写了一个这样的循环 while true MyTestClass myObject new MyTestClass 对象将在什么时候创建 循环 垃圾收集 另外 对于每次迭代 是 新的内存位置是 分配给 myObje
  • 将分隔字符串拆分为 R 数据框中的不同列

    我需要一种快速而简洁的方法将数据框中的字符串文字拆分为一组列 假设我有这个数据框 data lt data frame id c 1 2 3 tok1 c a b c a a d b d e tok2 c alpha bravo alpha
  • 插入到表中存在的列上

    假设我有一个非常大的用户信息数组 user array name gt john ip gt xx xx xx xx email gt email protected cdn cgi l email protection lots more
  • 投资组合分析包中的自定义预期回报

    我无法将自定义预期回报纳入投资组合分析包中 通常预期回报是一些专业期望 观点或与基本指标分开计算 投资组合分析允许创建自定义矩函数来计算过去收益的矩 但我不明白如何将已计算的收益合并到优化问题中 感谢任何帮助 这里是一个小示例数据集 Dow
  • 如果 ItemGroup 包含项目,如何进行 MSBuild 条件测试?

    这应该很简单 但我找不到如何做到这一点 或者也许这是不可能的 在 MSBuild 中 我有一个 ItemGroup 它是文件列表 我只想在特定文件位于该 ItemGroup 中时才执行任务 就像是
  • Haskell 如何立即计算出如此巨大的数字?

    我开始学习 Haskell 当我学习一门新语言时我喜欢做的事情之一就是欧拉计划 https projecteuler net 问题作为我主要参考资料的补充 对于第二个问题 即查找小于 400 万的偶数斐波那契数之和 我提出了以下解决方案 f
  • 将多维数组传递给函数时难以理解传递的元素

    我在某处读到以下数组可以以这种方式传递给以下函数 如下所示 但是我不明白数组中的哪些元素被准确传递给函数 这些是数组 int array NROWS NCOLUMNS int array1 int array2 int array3 int
  • Primefaces selectCheckBoxMenu filter="custom" 属性不起作用

    我正在使用 primefaces 3 5 我想使用 selectCheckBoxMenu 组件 实际上 我处理这个组件的很多属性 但是我有一个巨大的列表 我愿意用惰性获取这个列表 并且这个组件不包含惰性属性 因此 我决定使用 filter
  • c++11线程的RW锁[重复]

    这个问题在这里已经有答案了 我想使用新的标准线程而不是 boost threads 但我注意到旧的共享互斥体不可用 有什么好的建议可以替代此功能并为我提供多读者 单作者锁定 std shared mutex将成为 C 14 标准库的一部分
  • 使用 Android 浏览器进行 ASP.NET 表单身份验证

    我正在以一种简单的方式使用 ASP NET 表单身份验证 身份验证使用 cookie 来存储凭据 在以下浏览器中完美运行 桌面 Chrome Safari IE 移动设备 iPhone 浏览器 Opera Mobile 我按下按钮表单的身份
  • 如何查看IntelliJ中的编译错误列表?

    我正在寻找一种方法来查看 IntelliJ 中的所有编译错误 类似于它们在 Eclipse 中的显示方式 我尝试在这里和谷歌搜索 但还没有真正找到解决方案 我真的很喜欢 IntelliJ 我最近从 Eclipse 转换到它 我希望这只是我所
  • iPhone自定义UINavigationBar按钮

    我有一个有 4 个选项卡的应用程序 每个选项卡都是一个 UINavigationController 4 个 UINavigationBar 选项卡应该看起来相同 具有自定义背景图像 自定义后退按钮和触发功能的自定义右键 我只想在我的代码中
  • 根据空闲用户使用 Angularjs 自动注销

    是否可以使用 angularjs 确定用户是否处于非活动状态并在 10 分钟不活动后自动将其注销 我试图避免使用 jQuery 但我找不到任何关于如何在 AngularJS 中执行此操作的教程或文章 任何帮助 将不胜感激 我写了一个模块叫N
  • 是否可以使用 C# 在 Microsoft Bot 框架中开发本地化?

    我想要一个支持多种语言的机器人 我知道通过本地化这是可能的 但我找不到使用 c 的解决方案 Microsoft Bot 框架文档中有一篇有关本地化的文章 有一个 Node js 的例子 但我是用c 实现的 那么 任何人都可以给我一个想法或任
  • 继承和接口

    这是对此的后续问题question https stackoverflow com questions 267045 is there a benefit to having both an abstract class and an in
  • 逐行构建 pyarrow 表的最快方法

    我有一本大字典 我想迭代它来构建一个 pyarrow 表 字典的值是不同类型的元组 需要解压缩并存储在最终 pyarrow 表中的单独列中 我确实提前知道了架构 键还需要存储为列 我有下面的方法可以逐行构建表格 是否还有另一种更快的方法 对
  • 如何为 Android EditText 设置光标背景透明

    当我触摸 Android 上的 EditText 来更改文本时 我遇到了这个问题 A white frame appears around the red cursor and I need it to be transparent for
  • 从文本文件中删除带有另一个文件中的行号的行

    我有一个文本文件 其中包含一个巨大的行号列表 我必须从另一个主文件中删除它 这是我的数据的样子 行 txt 1 2 4 5 22 36 400 and documents txt string1 string2 string3 如果我有一个