awk - 合并特定列中的前两行
问题描述
我有多个制表符分隔文件,其中第一行是 6tabsFILENAME
第二行是 V1 V2 V3 V4 AB FST
如在
comb12.NCs.genes.fst
V1 V2 V3 V4 A B FST
NC_011462.1 17853 28371 CLIC6 0 0 NA
NC_011462.1 73261 121925 RUNX1 0 0 NA
NC_011462.1 631101 639557 SETD4 0 0 NA
我想将 col5 line1 与 col5 line2 融合
V1 V2 V3 V4 A B FSTcomb12.NCs.genes.fst
NC_011462.1 17853 28371 CLIC6 0 0 NA
NC_011462.1 73261 121925 RUNX1 0 0 NA
NC_011462.1 631101 639557 SETD4 0 0 NA
我试过(循环)
awk '{ORS=(NR==1?"":"\n")}1 ' file
但我明白了
comb12.NCs.genes.fstV1 V2 V3 V4 A B FST
NC_011462.1 17853 28371 CLIC6 0 0 NA
NC_011462.1 73261 121925 RUNX1 0 0 NA
NC_011462.1 631101 639557 SETD4 0 0 NA
它融合了前两行,如 line1line2
解决方案
保存第 1 行的信息,然后在到达第 2 行时释放它。之后,只需让默认操作按原样打印行。
$ awk 'NR==1{f = $NF} NR==2{print $0 f} NR>2' file
V1 V2 V3 V4 A B FSTcomb12.NCs.genes.fst
NC_011462.1 17853 28371 CLIC6 0 0 NA
NC_011462.1 73261 121925 RUNX1 0 0 NA
NC_011462.1 631101 639557 SETD4 0 0 NA
推荐阅读
- javascript - 在 Javascript 中手动操作输入时,如何确保触发键盘事件?
- amazon-web-services - Secrets Manager 资源策略:“此资源策略包含语法错误”
- python - BeautifulSoup4: find_all() | 当试图查找已分配多个类的元素时,如何仅指定其中一些?
- java - System.nanoTime() 被多次调用时,无法正常工作
- excel - 如何创建 VBA 函数来打开文件
- powershell - 为什么“退出”函数在我的 PowerShell 代码中不起作用?
- symfony - 在 symfony 中更新一对多关系
- python - 将一个字母更改为另一种语言的另一个字母 - python
- angular - 如何将角度 url 路由到默认组件?
- bash - 在 BASH 中连接多组 2 个 fastq 文件