표에서 비슷한 행을 정렬하고 숫자를 한 열에 넣는 것이 가능합니까? [복사]

표에서 비슷한 행을 정렬하고 숫자를 한 열에 넣는 것이 가능합니까? [복사]

이 테이블이 있어요

gene  5   5  5
gene  4   4  3
gene  5   5  5
gene  1   4  5

나는 다음을 원한다.

gene  5   5  5   2
gene  4   4  3   1
gene  1   4  5   1

따라서 마지막 열에는 유사한 행이 많이 있습니다(이 경우 gene 5 5 5원래 테이블에는 두 번 나타나고 다른 행은 한 번만 나타납니다).

가장 좋은 접근 방식은 무엇입니까? 이게 직업인가요 awk? 실제로 이것이 Linux에서 가능합니까?

답변1

$ sort data.txt|uniq -c|sed -e 's/[ ]*\([0-9]\)   \(.*\)$/\2 \1/'|sort -nrk 5
gene  5   5  5   2
gene  4   4  3   1
gene  1   4  5   1

관련 정보