Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为列的每个唯一值输出整行一次(Bash)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这肯定是awk或其他方面的一项微不足道的任务,但它让我今天早上挠头.我有一个格式与此类似的文件:
pep> AEYTCVAETK     2   genes ADUm.1024,ADUm.5198,ADUm.750
pep> AIQLTGK        1   genes ADUm.1999,ADUm.3560
pep> AIQLTGK        8   genes ADUm.1999,ADUm.3560
pep> KHEPPTEVDIEGR  5   genes ADUm.367
pep> VSSILEDKTT     9   genes ADUm.1192,ADUm.2731
pep> AIQLTGK        10  genes ADUm.1999,ADUm.3560
pep> VSSILEDKILSR   3   genes ADUm.2146,ADUm.5750
pep> VSSILEDKILSR   2   genes ADUm.2146,ADUm.5750

我想在第2列中为每个不同的肽值打印一行,这意味着上面的输入将成为:

pep> AEYTCVAETK     2   genes ADUm.1024,ADUm.2731
pep> VSSILEDKILSR   3   genes ADUm.2146,ADUm.5750

这是我到目前为止所尝试过的,但显然我也不需要:

awk '{print $2}' file | sort | uniq
# Prints only the peptides...
awk '{print $0,"\t",$1}' file |sort | uniq -u -f 4
# Altogether omits peptides which are not unique...

最后一点,它需要将作为其他肽的子串的肽作为不同的值处理(例如VSSILED和VSSILEDKILSR).谢谢 :)

使用awk的一种方法:
awk '!arraY[$2]++' file.txt

结果:

pep> AEYTCVAETK     2   genes ADUm.1024,ADUm.5750

大佬总结

以上是大佬教程为你收集整理的为列的每个唯一值输出整行一次(Bash)全部内容,希望文章能够帮你解决为列的每个唯一值输出整行一次(Bash)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: