基于一列生成单词对

2023-12-24

我想根据第三列(标识符)创建单词对。我的文件与此示例类似:

A ID.1
B ID.2
C ID.1
D ID.1
E ID.2
F ID.3  

我想要的结果是:

A C ID.1
A D ID.1
B E ID.2
C D ID.1

请注意,我不想以相反的顺序获得相同的单词对。在我的真实文件中,有些单词以不同的标识符出现多次。

我尝试了这段代码,效果很好,但需要很多时间(而且我不知道是否有冗余):

counter=2
cat filtered_go_annotation.txt | while read f1 f2; do 
tail -n +$counter go_annotation.txt | grep $f2 | awk '{print "'$f1' " $1}'; 
((counter++))
done > go_network2.txt

“tail”用于在读取行时删除该行。


Awk解决方案:

awk '{ a[$2] = ($2 in a? a[$2] FS : "") $1 }
     END {
         for (k in a) {
             len = split(a[k], items);
             for (i = 1; i <= len; i++)
                 for (j = i+1; j <= len; j++)
                     print items[i], items[j], k 
         }
     }' filtered_go_annotation.txt

输出:

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

基于一列生成单词对 的相关文章

  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • 如何比较两个文件中的多列并在找​​到匹配时从另一列检索相应的值

    我有两个文件 File1 txt 和 File2 txt 我需要将 File1 中的三列 1 2 和 3 分别与 File2 的 4 5 和 6 进行比较 如果找到匹配项 我想从 File2 的第 2 列中检索相应的值并将其粘贴到输出中 T
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 检查 bash 中是否存在关联数组元素

    在 bash 脚本中 我在变量中有一个区域设置 如下所示 locale fr ma 我也有一个像这样的关联数组 declare A new loc map new loc fr ma en ma new loc el gr en gr ne
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 如何使用 docker ENTRYPOINT 与 shell 脚本文件组合参数

    我编写 shell 脚本文件并将其与 docker ENTRYPOINT 一起使用 但是当我运行 docker image 时 由于入口点代码行 它只是停止而没有任何错误日志 我的 Dockerfile FROM ubuntu 16 04
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 通过 bash 命令设置 gitlab-ci.yml 变量

    variables CUSTOM NODE VERSION cat nvmrc 我想要变量CUSTOM NODE VERSION通过内容填充 nvmrc文件 位于项目根目录中 如何在gitlab ci yml file 上面的例子不起作用
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • Composer:您的系统中缺少请求的 PHP 扩展 ext-intl *

    我正在尝试使用composer json文件 但是 当我尝试运行命令 composer install in my path project 我收到错误 我已经配置了我的wamp for extension php intl dll 并复制
  • log4net / EventLogAppender 忽略我的 LogName

    此配置应该使我的日志条目最终出现在自定义日志中 对吧 但它最终会出现在应用程序日志中 我的应用程序以管理员身份运行 运行我的应用程序后 我可以确认日志和事件源是通过使用创建的EventLog Exists MyLog and EventLo
  • 谷歌浏览器扩展中的文件“compulated_hashes.json”的用途是什么?

    在一些谷歌浏览器扩展中 有一个computed hashes json文件 我没有找到任何有关该文件的文档 因此 如果我能得到一些解释 那就太好了 以下是该文件的摘录 file hashes block hashes THf ne1nArt
  • 通常禁用矩阵降维?

    众所周知 如果列维或行维为 1 R 会尝试将矩阵简化为向量 可以通过使用drop F命令 然而 我目前正在编写一个大型 R 包 并且需要在代码中数百次禁用维度下降 因此我必须手动找到这些位置并添加drop F数百次 因此 我想知道是否有任何
  • Symfony2 表单未选中的复选框未考虑在内,为什么?

    当我发送带有未经检查的复选框 如果相关实体属性等于true 那么它不会改变为false 反之亦然 当发送带有选中复选框的表单时将属性设置为 true 效果很好 并且保存的所有表单其他字段也可以正常工作 以下是我构建表单并声明相关属性的方法
  • NSAttributedString 颜色测试

    比较或测试 NSAttributed 字符串的特定颜色属性的正确方法是什么 举个例子 我想知道文本选择是否有红色文本 我尝试了几种方法 如下所示 但没有一种方法能够产生匹配结果 我看到屏幕上的文本变成红色 并且记录属性返回 UIDevice
  • 是否有 ADB 命令可以切换允许模拟位置?

    我搜索了一些主题但没有找到答案 我不需要指定纬度 经度 而是打开允许模拟位置的开关 安装应用程序后 在 Marshmallow 及以上版本 中 只需运行 adb shell appops set com example my package
  • 集合视图拖放延迟

    有没有办法调整在集合视图单元格上开始拖动所需的时间 如同UILongPressGestureRecognizer minimumPressDuration财产 我知道我们可以迭代附加到视图的所有手势识别器 并可能找到我们需要的手势识别器 但
  • 多部分/表单数据上传 - Nodejs - Expressjs

    由于express multipart已从Express 4 x库中删除 那么在expressjs中处理文件上传的最佳方法是什么 刚刚回答了一个类似的问题 https stackoverflow com q 23063317 971592关
  • 某些文件扩展名的 SVN Commit 问题

    我在从 Tortoise SVN 上传文件到 SVN 存储库时遇到问题 我可以上传所有文件 除了某些总是失败的特定文件 文件列表 Rhino Mocks dll 系统 Data SQLite dll 微软 Ajax debug js 在 S
  • VT100终端仿真器中的键盘传输模式

    我正在 javascript 和 vt100 规范中实现 vt100 终端模拟器 来自man terminfo and infocmp 告诉我smkx E 1h E 是进入键盘传输模式的代码 rmkx E 1l E gt 是离开 键盘传输
  • 我们能否为 EC2 实例设置易于记忆的主机名?

    我正在 EC2 上运行几个标准 Fedora 实例 我觉得亚马逊分配的实例的公共主机名太奇怪而且很难记住 我想将它们更改为较短的内容 例如红色 蓝色 绿色 等 这样做有什么缺点吗 以及如何设置它以使其在重新启动后仍然存在 Thanks 在开
  • 如何以编程方式获取 iPhone 屏幕尺寸? [复制]

    这个问题在这里已经有答案了 可能的重复 如何使用代码获取屏幕尺寸 https stackoverflow com questions 3635483 how to get screen size using code NSLog Top L
  • 如何手动验证 JWT Asp.Net Core?

    那里有数以百万计的指南 但似乎没有一个能满足我的需要 我正在创建一个身份验证服务器 它只需要颁发并验证 重新颁发令牌 所以我无法创建一个中间件类来 验证 cookie 或标头 我只是收到字符串的 POST 我需要以这种方式验证令牌 而不是A
  • 当 fd 关闭时,我会收到 epoll 的通知吗?

    我目前正在构建一些使用的东西epoll 它工作得很好 但是当文件描述符被删除时最好有一个通知epoll当底层的fd关闭了 有没有办法获得通知epoll一旦fd关闭了 不 这是一个Zig https ziglang org 程序来演示 con
  • Java 9 的 LogManager.getLogger() / Logger.getHandlers() 上缺少斜杠似乎会导致异常

    当我尝试创建日志文件 C Users cardal ApplicationLog html 时 我发现 Windows 上运行 Java 9 的 Applet 出现问题 该代码在 Java 8 上运行良好 代码执行LogManager re
  • checkSelfPermission() 似乎不适用于 WRITE_EXTERNAL_STORAGE

    我有使用的应用程序
  • 如何在 Ruby on Rails 中的 ActiveRecord 查询中加入间接关联?

    在我的 Ruby on Rails 应用程序中 我有一个模型Instance属于另一个模型Zone The Zone模型本身属于Country模型 我正在获取一组Instance对象如下 scope thisweek gt joins zo
  • Facebook 登录按钮无法在 45 秒内调整大小

    我正在尝试实现异步加载 Facebook 登录按钮 但该按钮在 45 秒后消失 仅在 Google Chrome 中 并且此错误消息记录在错误控制台中 FB login button failed to re size in 45s 我该如
  • 基于一列生成单词对

    我想根据第三列 标识符 创建单词对 我的文件与此示例类似 A ID 1 B ID 2 C ID 1 D ID 1 E ID 2 F ID 3 我想要的结果是 A C ID 1 A D ID 1 B E ID 2 C D ID 1 请注意 我