linux:刪除指定列重復的行


現在有文件file.txt, 如下所示:

header1 header2
chr10_10000018 chr11
chr10_10000018 chr12
chr10_100000625 chr10
chr10_100000645 chr11
chr10_100001867 chr11

可以看到,第一列的chr10_10000018存在重復的值,分別位於第一行和第二行,現在只希望保留第一行,變成如下文件file1.txt所示:

header1 header2
chr10_10000018 chr11
chr10_100000625 chr10
chr10_100000645 chr11
chr10_100001867 chr11

則可以用命令:

tail -n +2 file.txt | sort -k1,1 -V | sort -uk1,1 -V > file1.txt

tail -n +2 指的是header不參與排序;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM