我想做的是检查第二列和第三列是否重复(如果不重复,则按原样取第四列、第五列和第六列),打印第五列中的第一个元素和第六列中的最后一个元素及其对应的元素第四栏。
输入示例如下所示:
Chr1 39584 39678 Chr1 39653 39654
Chr1 39584 39678 Chr1 39654 39655
Chr1 39584 39678 Chr1 39677 39678
Chr1 40023 40039 Chr1 40038 40039
Chr1 283979 283993 Chr1 283979 283980
Chr1 283979 283993 Chr1 283980 283981
Chr1 283979 283993 Chr1 283989 283990
Chr1 283979 283993 Chr1 283990 283991
Chr1 283979 283993 Chr1 283992 283993
所需的输出如下所示:
Chr1 39653 39678
Chr1 40038 40039
Chr1 283979 283993
谢谢!
答案1
我钉了它:
awk '!a[$2]++ && !b[$3]++' input.txt | cut -f 4,5 >first_part.txt
tac 输入.txt | awk '!a[$2]++ && !b[$3]' |塔克 | cut -f 6 > secondary_part.txt
粘贴first_part.txt secondary_part.txt > output.txt
但如果您有更好的解决方案,请随时分享!