【发布时间】:2020-04-21 17:26:36
【问题描述】:
我正在尝试合并一些制表符分隔的文件:
File_A.tsv
probeId BetaVal Annot
a 1 X
b 2 Y
c 3 Z
File_B.tsv
probeId BetaVal Annot
a 4 X
b 5 Y
c 6 Z
File_C.tsv
probeId BetaVal Annot
a 7 X
b 8 Y
c 9 Z
如何按 BetaVal 列合并这些文件并将文件名稳定为列名(同时获得制表符分隔文件)?
probeId File_A.tsv File_B.tsv File_C.tsv Annot
a 1 4 7 X
b 2 5 8 Y
c 3 6 9 Z
我正在尝试类似:
for file in *;
do
join -j 1 File_A file;
done
但这是不正确的。此外,我不确定如何将文件名写为列名。
【问题讨论】:
-
您好 Jeni,请说明您如何确定列标题应为 A、B 和 C?但我不会
join会为你这样做...... -
文件中是否有前导空格或制表符以及尾随换行符,如图所示?
-
我不确定如何确定标题。实际上,标题可以是文件名(我已经编辑了问题)
-
如果所有 CSV 文件中的行数不同怎么办?
-
您保留最后一列?或者,您是否假设所有文件中的最后一列都相同?