这是我第一次面对这样的情况。我需要为第一个字段做 uniq ,但不删除重复行的任何内容。举这个例子
输入文件
ENST000001.1 + 67208778 67210057
ENST000001.1 + 67208778 67210768
ENST000001.1 + 67208778 67208882
ENST000002.5 + 67208778 67213982
ENST000003.1 - 57463571 57463801
ENST000003.1 - 57476352 57476463
ENST000003.1 - 57476817 57476945
当我这样做时(uniq -w 12),只会检查第一个字段(只有 12 个字符)在所有其他行中是否存在重复项。结果将是这样的:
ENST000001.1 + 67208778 67210057
ENST000002.5 + 67208778 67213982
ENST000003.1 - 57463571 57463801
所有重复行的内容都被丢弃,只保留第一行。我正在寻找的是这样的
ENST000001.1 + 67208778_67210057 67208778_67210768 67208778_67208882
ENST000002.5 + 67208778_67213982
ENST000003.1 - 57463571_57463801 57476352_57476463 57476817_57476945
如何在不丢失重复行内容的情况下使用 uniq ?!有没有办法在 AWK/sed/perl 中做到这一点?