我有三个文件,每个文件中的信息都不会以任何方式重叠 - 但是,它们需要以特定方式相互合并才能发挥作用。
第一个文件不同于以相同方式设置的后两个文件。 文件 1 如下所示:
rs101 12 126890980 A G
rs102 4 114553253 A C
rs103 9 172776204 C T
文件 2 如下所示:
1 178 0.12 0.26 0.02
1 1458 0.35 0.37 0.021
1 318 0.99 0.105 0.08
文件 3 如下所示:
1 3567 0.78 0.67 0.005
0 0 0 0 0
1 3567 0.34 -0.15 0.001
我想要一个将这些合并到文件以生成第三个文件的脚本:
rs101 12 126890980 A G
1 178 0.12 0.26 0.02
1 3567 0.78 0.67 0.005
rs102 4 114553253 A C
1 1458 0.35 0.37 0.02
0 0 0 0 0
rs103 9 172776204 C T
1 318 0.99 0.105 0.08
1 3567 0.34 -0.15 0.001
问题是,如果这些文件合并不正确,它们在运行分析时将不会提供正确的信息 - 我可以在每个文件的末尾添加一个唯一的列(例如,rs# 可以在文件中打印两次一个(在第一列中一次,在最后一列中一次),然后可以将相应的 rs 编号添加到文件 2 和 3 末尾的另一列中)。然后我可以手动抽查合并是否正确发生。任何见解或建议表示赞赏!
最佳答案
一种方法,使用粘贴
:
paste -d "\n" file1.txt file2.txt file3.txt
结果:
rs101 12 126890980 A G
1 178 0.12 0.26 0.02
1 3567 0.78 0.67 0.005
rs102 4 114553253 A C
1 1458 0.35 0.37 0.021
0 0 0 0 0
rs103 9 172776204 C T
1 318 0.99 0.105 0.08
1 3567 0.34 -0.15 0.001
这假设您的每个输入文件都包含相同数量的行。要检查每个文件(从而避免潜在的合并问题),请使用 wc
:
wc -l file1.txt file2.txt file3.txt
结果:
3 file1.txt
3 file2.txt
3 file3.txt
9 total
HTH
关于python - 按条件合并具有不同列信息的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11513001/