删除bash脚本linux中不同列中相同值的重复

时间:2018-03-28 22:14:55

标签: linux bash shell

我有一个这样的文件:

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脚本中最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

这是使用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