このような状況に直面するのはこれが初めてです。最初のフィールドだけに 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 でそれを行う方法はありますか?