awk 比较多个文件

2024-05-03

我有2个文件:

file1:

1,apple  
2,mango  
3,banana  
44,orange  

file2:

1,apple  
22,  
31,xyz  
2,man  
3,banana  
44,oran   
44,orange

我需要使用第 1 列和检查第 2 列来查找两个文件的差异。我不想使用$0因为它打印第一个文件中不存在的行file2 too.

结果输出应打印在file3 as :

2,mango,man  
44,orange,oran        

芒果来自file1(第 2 栏)而 man 来自file2(第2栏)


下列的awk可能会帮助你同样。

awk -F, 'FNR==NR{a[$1]=$0;b[$2];next} ($1 in a) && !($2 in b){print a[$1],$2}' OFS=,   Input_file1  Input_file2

如果您想将输出放入名为 file3 的文件中,则添加> file3最后进入上面的命令。

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

awk 比较多个文件 的相关文章

  • 使用 AWK 进行字数统计

    我有如下文件 这是一个示例文件 该文件将用于测试 this is a sample file this file will be used for testing 我想用AWK来统计单词数 预期输出是 this 2 is 1 a 1 sam
  • 如何从文件中提取多行的电子邮件标题

    我正在尝试在 Linux 上使用 sed 从电子邮件文件中提取 To 标头 问题是 To 标头可能位于多行上 e g To email protected cdn cgi l email protection email protected
  • 根据内容拆分 .txt 文件

    我有一个巨大的 txt文件如下 small file content 1 br small file content 2 br small file content n br 我如何将其分割成n个文件 最好通过bash Use csplit
  • 在目录和子目录中搜索文件中的模式

    在Linux中 我想搜索给定目录及其子文件夹 文件以查找某些包含和排除模式 find apps exec grep performance v warn dev null 这与搜索所经过的大量行相呼应 我不想这样 我想找到包含性能但不包含警
  • 从命令行查找并替换多行文本

    我正在尝试使用还执行其他操作的脚本编辑配置文件 该脚本需要找到某些连续的文本行并将其删除 它需要在适当的位置粘贴一个新配置 该新配置从旧配置所在的同一行开始 在新旧配置中 空间的使用都很重要 在 configfile php 中 此文本块
  • AWK:打印一个字段中具有最大值的所有行每个其他字段,包括具有最大值和多个列的相同行

    我很感激许多贡献者迅速提供了许多解决方案 AWK 打印一个字段中具有最大值的所有行每个其他字段 包括具有最大值的相同行 https stackoverflow com questions 75392860 awk print all row
  • awk + ​​如何查找列中的重复项?

    如何查找列中的重复项 head countries lat long int code3 csv cat n 1 country latitude longitude name code 2 AD 42 546245 1 601554 An
  • 如何垂直分割250k列的文件?

    我需要根据大小 首选 或列数将 250k 的文件拆分为几个 5 块 我知道split命令用于按行拆分 但不知道是否有类似的函数用于按列拆分 我的文件中的列数不均匀 因此块不能具有相同的列数 Input AA BB CC DD EE FF G
  • 使用 awk 在匹配后连接行

    我有一个如下所示的列表 gt aaa AAAAAAAAAA gt bbb BBBBBBBBBBBBBBBB gt ccc CCCCCCC 我想使用 awk 在 或 之后加入下一行 并使用逗号分隔符 这样它看起来像这样 gt aaa AAAA
  • 如果某一列中的文本与其前面的文本不匹配,则将一个大文件拆分为多个文件

    我搜索了一段时间 找不到对此的回应 我有一个标准 tsv 文件 格式如下 1 100 101 350 A 1 101 102 300 A 1 102 103 180 A 1 800 801 60 B 1 801 802 70 B 1 802
  • awk 中的提示和技巧 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SED 或 AWK 将所有内容替换为另一个文件中的模式

    我正在尝试使用 SED 脚本进行模式替换 但它无法正常工作 样本内容 txt 288Y2RZDBPX1000000001dhana JP2F64EI1000000002d EU9V3IXI1000000003dfg1000000001dfd
  • 正则表达式用 SED/AWK 替换特定列

    我的数据如下所示 制表符分隔 Organ K ClustNo Analysis LN K200 C12 Gene Ontology LN K200 C116 Gene Ontology CN K200 C2 Gene Ontology 我想
  • awk 中的并行处理?

    awk 逐行处理文件 假设每行操作不依赖于其他行 有没有办法让 awk 一次并行处理多行 是否有其他文本处理工具可以自动利用并行性并更快地处理数据 唯一尝试提供 awk 并行实现的 awk 实现是并行 awk http code googl
  • 在 shell 脚本中禁止输出到屏幕

    你好 我写了一个小脚本 usr bin ksh for i in DAT do awk BEGIN OFS FS 3 353 3 353861958962 print i gt gt i changed awk 3 353 i change
  • 如何拆分一行并重新排列其元素?

    我在一行中有一些数据 如下所示 abc edf xyz rfg yeg udh 我想呈现如下数据 abc xyz yeg edf rfg udh 以便打印备用字段并用换行符分隔 有没有这样的衬里 下列awk脚本可以做到这一点 gt echo
  • 文本处理问题:删除其中一列不包含特定值的行

    我有一个制表符分隔的文件 如下所示 input sequence match sequence score receptor group epitope antigen organism ASRPPGGVNEQF ASRPPGGVNEQF
  • 使用正确的头打印文件名

    我想获取当前目录中的文件名 使得文件的第一行等于myWord 我想结合find type f命令与 exec选项与head 1 filename但无济于事 有没有一些聪明的 单行的解决方案来解决这个问题 您可以使用find with awk
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty

随机推荐

  • 抱歉,该视频无法在视频视图中播放?

    freinds 我正在使用以下代码在我的应用程序中显示 mp4 视频 并面临以下问题 我在 google 和 stackoverflow 上看到了很多与这个问题相关的帖子 但每个人都给出了自己的建议 并且没有共同的答案 1 我在模拟器中看不
  • Android ProGuard 混淆库:让类无法工作

    Intro 我在 AS 1 项目中有 2 个模型 带有一些 公共 API 类 的 Android 库项目 Android APP依赖上述库 库模块在依赖列表中 Task 我想混淆我的库项目 因为我想将其公开为公共 SDK 但又要保护我的代码
  • 将数组值与同一数组中的其他值进行比较

    我想要实现的是 它将循环遍历数组 然后它会检查数组中的项目在三个点上是否相同 product id 尺寸值和颜色值 我想创建一个新数组 其中列出了项目 我唯一不想要的是重复的值 我希望重复的值如果在这三个点上相同 则数量将被计算在一起 就像
  • 如何在 Spring MVC simpleformcontroller 上添加错误?

    我的 Spring MVC 2 5 应用程序中遇到这个问题 我不知道该怎么办 这是我的代码 public class AddStationController extends SimpleFormController private Sim
  • Android相对布局放置问题

    我在 XML 中为列表项创建相对布局以用于 ListView 中的一系列项目时遇到问题 我已经尝试了几个小时 并且正在撕扯我的头发 试图让它看起来像我想要的那样 但无法让所有东西都出现在正确的位置 而不是重叠或错位 我可以获取第一张图像和接
  • JSF 2.0:如何设置验证错误的顺序

    我正在使用 Jsf 2 和 Hibernate Validator 它工作正常 但我不知道如何设置生成的错误的顺序 举个例子 我的托管 Bean public class UserPresentation NotNull message E
  • .Net 有什么好的解析库吗?

    我正在寻找一些简单易用 语法易于定义的东西 虽然我以前没用过 ANTLR http www antlr org 有 C 运行时
  • ggplot 中的 Geom_area 顺序

    我的样本队列数据在绘制时未进行颜色编码或按正确的时间顺序显示ggplot 以下代码用于生成绘图 library ggplot2 blues lt colorRampPalette c lightblue darkblue p lt ggpl
  • 无法在 TFS 中签入 UserControl.xaml 文件。接收错误:TF10169

    Visual Studio 2013 中的项目类型是桌面应用程序 我在该桌面应用程序中添加了 XAML 格式的用户控件 我使用了一些兼容性函数和库 以便 xaml 控件能够与简单的桌面应用程序集成 TFS 正在检查其他相关文件 但是当将 x
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • ShinyApp:由对等方重置连接

    我之前构建的闪亮应用程序在我的旧笔记本电脑上运行良好 最近我买了一台装有Windows10的新笔记本电脑 设置完所有内容后 我尝试运行该应用程序 但浏览器立即打开并关闭 并出现错误 正在收听http 127 0 0 1 5004 http
  • 从自定义类导入时,XMLBeans jar 无法签名

    在 NetBeans 中 我创建了一个 Exporter 类 该类使用 APACHE POI 将一些数据导出到 EXCEL 文件 而 APACHE POI 使用 XMLBeans 我通过下载 zip 二进制文件并手动添加 jar 来添加 A
  • C# SerialPort BaseStream ReadAsync - CancellationToken 从未取消?

    我尝试以异步方式从串行端口读取数据 请记住操作所花费的时间不得超过指定的时间段 我使用的代码 private async Task
  • unsafeInterleaveIO 什么时候不安全?

    与其他不安全 操作不同 文档 http hackage haskell org packages archive base latest doc html System IO Unsafe html v unsafeInterleaveIO
  • 如何在 SQL Server 2000 中传递大于 varchar(8000) 的字符串参数?

    如果将字符串参数定义为大小大于 8000 则会出现编译错误 e g The size 9000 given to the type varchar exceeds the maximum allowed for any data type
  • 使用 lambda 或 Stream API 合并流以生成交替序列

    我有一些按预期返回 Stream 的代码 但也许可以用某种类型的 lambda 或 stream 操作替换它 而不是耗尽 a 中的迭代器while loop 它只是一种交替流中元素的方法first and second当其中一个元素耗尽时停
  • 在 python 中计时时,我应该如何考虑 subprocess.Popen() 开销?

    编码社区的成员比我更聪明 我有一个 python 问题要问你们 我正在尝试优化一个 python 脚本 该脚本 除其他外 返回子进程执行和终止的挂钟时间 我想我已经接近这样的事情了 startTime time time process s
  • 对 Python 的 id() 感到困惑[重复]

    这个问题在这里已经有答案了 我可以理解以下定义 每个对象都有一个身份 类型和值 对象的身份 一旦创建就永远不会改变 你可能会认为它是 对象在内存中的地址 这is操作员比较身份 两个物体 这id 函数返回一个代表其值的整数 身份 我假设上面的
  • NodeJS:MySQL 有时会引发 ETIMEDOUT 错误

    我目前正在使用 NodeJS 开发一个应用程序 然而 经常服务器抛出这个错误 我无法与mysql交互 Error read ETIMEDOUT code ETIMEDOUT errno ETIMEDOUT syscall read fata
  • awk 比较多个文件

    我有2个文件 file1 1 apple 2 mango 3 banana 44 orange file2 1 apple 22 31 xyz 2 man 3 banana 44 oran 44 orange 我需要使用第 1 列和检查第