linux bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C

bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C.


Aid文件:
ID001.1
ID032.1
ID090.10

Bfilt文件:
XX XX XXX ID001.1 XXX
999999999999999999999999999999999999999
XX XX XXX ID055.1 XXX
6666666666666666666666666666666666666
XX XX XXX ID032.1 XXX
333333333333333333333333333333333333333

要得到Cnew文件:
XX XX XXX ID001.1 XXX
999999999999999999999999999999999999999
XX XX XXX ID032.1 XXX
333333333333333333333333333333333333333

 

awk 'NR==FNR{a[FNR]=$0} NR>FNR{for(i in a)if($0~a[i]){print;getline;print}}' Aid Bfilt >Cnew

 

## 输出匹配id的行,不输出其下一行

awk 'NR==FNR{a[FNR]=$0} NR>FNR{for(i in a)if($0~a[i]){print;}}' Aid Bfilt

 注意:

1 当文件很庞大时,这个十分慢;用 extractfastabyid 处理。

2 这个匹配是包含关系, AAA会匹配AAA1,AAAAA1等。

 

posted @   emanlee  阅读(1260)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
历史上的今天:
2008-09-17 约瑟夫环问题(Josephus Problem)C程序实现
2008-09-17 2008秋季-计算机软件基础-0917课堂用例(2)
2008-09-17 2008秋季-计算机软件基础-0917课堂用例(1)
2007-09-17 2008秋季-计算机软件基础-循环链队列
2007-09-17 2008秋-计算机软件基础-循环顺序队列
点击右上角即可分享
微信分享提示