我有一个类似的输入表:
chr21 10861860 10862010 0.004580 1235
chr21 10896160 10896310 0.008635 928
chr21 10936080 10936230 0.004542 50
chr21 10972180 10972330 0.008600 1235
chr21 11059120 11059270 0.008133 2002
chr21 11101660 11101810 0.008360 468
chr21 11181780 11181930 0.004310 928
而且我需要一个Linux命令,该命令只能打印出该表的最后一列中共享公共元素的行。
在示例中,我需要以下命令才能打印出:
chr21 10861860 10862010 0.004580 1235
chr21 10896160 10896310 0.008635 928
chr21 10972180 10972330 0.008600 1235
chr21 11181780 11181930 0.004310 928
那是在最后一列中具有重复元素的行
我可以使用什么命令?
最佳答案
您可以先对第五列的数据进行排序。
$ sort -n -k5,5 data-file > file1
接下来,编写一个awk脚本来处理file1。如果第五字段与前一行相同,则写入输出。
如果要保留最终输出的顺序与输入相同,请向初始输入添加唯一键(例如,行号),然后根据行号对最终输出进行排序。