我有一个这样的文件:
A2M TIAM1
AARSD1 NLRP12
ABCA12 ABCA1
ABCA12 NR1H2
ABCA1 ABCA12
ABCA13 APOA2
ABCA13 CLK1
NLRP12 AARSD1
ABCA13 HAGH
ABCC10 ATP2B2
我想去掉col2 col1的重复值。例如:
ABCA1 ABCA12
…和:
NLRP12 AARSD1
……在这种情况下。
在Bash脚本中,最好的方法是什么?
最佳答案
这是在使用awk:
awk '!seen[$1]++ && !seen[$2]++' your-file
这将只打印col1和col2中的唯一值,根据您的输入,这将是输出:
A2M TIAM1
AARSD1 NLRP12
ABCA12 ABCA1
ABCA13 APOA2
ABCC10 ATP2B2
要按不同的对分组,请尝试执行以下操作:
awk '!seen[$1 $2]++ && !seen[$2 $1]++' your-file
这将是输出:
A2M TIAM1
AARSD1 NLRP12
ABCA12 ABCA1
ABCA12 NR1H2
ABCA13 APOA2
ABCA13 CLK1
ABCA13 HAGH
ABCC10 ATP2B2