Linux 用于按特定顺序合并3个文件的Bash代码

Linux 用于按特定顺序合并3个文件的Bash代码,linux,bash,dataframe,awk,sed,Linux,Bash,Dataframe,Awk,Sed,我正在使用samtools(seqtool)和它生成的选项卡文件 (A) 我最终会得到两个标签文件:- 文件A仅包含1个值100000 文件B仅包含1个值110000 文件C在第1列中包含两个名称: 例如 说出一个 名字B 文件D(输出文件),按此顺序合并所有3个文件 第1栏第2栏 基因A 100000 基因B 110000 非常感谢各位 问候 Gauravawk+粘贴解决方案: 示例文件: $ head f[123] ==> f1 <== gene A gene B ==>

我正在使用samtools(seqtool)和它生成的选项卡文件

(A) 我最终会得到两个标签文件:- 文件A仅包含1个值100000 文件B仅包含1个值110000 文件C在第1列中包含两个名称: 例如 说出一个 名字B 文件D(输出文件),按此顺序合并所有3个文件

第1栏第2栏 基因A 100000 基因B 110000

非常感谢各位

问候
Gaurav

awk
+
粘贴
解决方案:

示例文件:

$ head f[123]
==> f1 <==
gene A
gene B

==> f2 <==
100
200
300
400

==> f3 <==
1000
2000
3000
4000

你可以做一个更好的描述-请张贴所有文件的实际例子,以及你希望最终结果是什么样子。还要指定所有文件中列之间的所有分隔符。这应该可以通过剪切、粘贴和awksee格式帮助解决。。并添加您尝试过的内容(请参见)@hovanesyan。谢谢你的回复。根据你的建议,我以更简单的方式更新了问题。我也知道它可以通过剪切和复制的方法来实现,但是这个脚本只是大型bash脚本的一小部分。我想使整个过程自动化,因此您的意见将不胜感激。许多thankscut、paste和awk都是bash命令,可以在bash脚本中用于自动化流程。
awk -v OFS='\t' 'NR==FNR{ a[NR]=$0; next }{ $0=(a[FNR%2==0? 2:1] OFS)$0 }1' f1 <(paste f2 f3)
gene A  100 1000
gene B  200 2000
gene A  300 3000
gene B  400 4000