我有一个由制表符分隔的两列文件,如下所示:
OG0000000 PF03169,PF03169,PF03169,MAC1_004431-T1,
OG0000002 PF07690,PF00083,PF00083,PF07690,PF00083,
OG0000003 MAC1_000127-T1,
OG0000004 PF13246,PF00689,PF00690,
OG0000005 PF00012,PF01061,PF12697,PF00012,
Run Code Online (Sandbox Code Playgroud)
我只想删除第二列中的重复字符串,而不更改第一列中的任何内容,以便我的最终输出如下所示:
OG0000000 PF03169,MAC1_004431-T1,
OG0000002 PF07690,PF00083,
OG0000003 MAC1_000127-T1,
OG0000004 PF13246,PF00689,PF00690,
OG0000005 PF00012,PF01061,PF12697,
Run Code Online (Sandbox Code Playgroud)
我尝试使用 awk 来启动它。
awk 'BEGIN{RS=ORS=","} !seen[$0]++' file.txt
Run Code Online (Sandbox Code Playgroud)
但我的输出看起来像这样,如果重复的字符串首先出现,则仍然存在一些重复项。
OG0000000 PF03169,PF03169,MAC1_004431-T1,
OG0000002 PF07690,PF00083,PF07690,
OG0000003 MAC1_000127-T1,
OG0000004 PF13246,PF00689,PF00690,
OG0000005 PF00012,PF01061,PF12697,PF00012,
Run Code Online (Sandbox Code Playgroud)
我意识到问题是因为 awk 抓取的第一行是第一个逗号之前的所有内容,但我对 awk 命令仍然很粗糙,无法弄清楚如何在不弄乱第一列的情况下解决这个问题。提前致谢!