【发布时间】:2015-02-25 02:07:35
【问题描述】:
我有一个制表符分隔的文件A,如下所示:
seqnameAa_len_240 seqnameBa_len_247
seqnameAb_len_881 seqnameBb_len_719
seqnameAc_len_736,seqnameAd_len_640 seqnameBc_len_489
seqnameAe_len_241 seqnameBd_len_302,seqnameBe_len_465
seqnameAf_len_436,seqnameAf_len_620 seqnameBf_len_452,seqnameBg_len_435
左边的序列来自一个数据集,右边的序列来自另一个。每行反映一组相似的序列。在某些情况下,来自一个、另一个或两个数据集的多个序列属于同一序列组(反映在一列中用逗号分隔的多个序列)。
对于每一行,我想找到一种方法来找到两个数据集的最大值,并给出以下输出。
240 247
881 719
736 489
241 465
620 452
我想过在所有行上创建一个 for 循环,然后为每一行用换行符替换逗号,然后删除所有文本并保留数字并使用 awk 选择每列的最大值。但是根据我目前的 bash/awk 知识,必须按列完成,并且每个单元格没有固定数量的逗号分隔条目,我不知道该怎么做。
有没有更简单的方法从 fileA 获取上述输出?
【问题讨论】:
-
不要犹豫,尝试自己编写代码并展示您的尝试。否则,您很可能会习惯于完成任务,而当您需要自己完成任务时,您将一无所获。