
다음 형식이 포함된 파일을 처리 중입니다.
R | CF | PN | seq | UC
801 | 10 | P3 | 643455423 | C1
804 | 11 | P1 | 643455427 | C1
804 | 11 | P1 | 643455427 | C5
802 | 11 | P2 | 643455431 | C1
800 | 11 | P2 | 643455429 | C2
800 | 11 | P2 | 643455429 | C2
802 | 11 | P2 | 643455431 | C2
800 | 11 | P3 | 643455423 | C1
804 | 11 | P3 | 643455433 | C2
802 | 11 | P3 | 643455425 | C3
804 | 11 | P3 | 643455433 | C3
802 | 11 | P4 | 643455425 | C2
801 | 12 | P1 | 643455424 | C2
801 | 12 | P1 | 643455424 | C2
805 | 12 | P1 | 643455434 | C2
805 | 12 | P1 | 643455434 | C3
805 | 12 | P3 | 643455428 | C1
805 | 12 | P3 | 643455428 | C1
801 | 12 | P3 | 643455430 | C3
803 | 14 | P1 | 643455432 | C1
803 | 14 | P1 | 643455432 | C1
803 | 14 | P2 | 643455426 | C1
803 | 14 | P2 | 643455426 | C3
801 | 19 | P4 | 643455430 | C3
저는 이 세 열 중 가장 유사한(최대 공통 분모) 기준으로 선을 그룹화하려고 합니다.
즉, 두 개 이상의 회선이 동일한 CF-PN-UC 값을 공유하면 그룹화하고, 그렇지 않으면 동일한 CF-PN을 공유하는 회선을 그룹화하고, 그렇지 않으면 나머지는 CF 그룹화로 그룹화해야 함을 의미합니다. .
다음 결과를 얻을 수 있는 방법이 있습니까?
R | CF | PN | seq | UC
#CF
801 | 10 | P3 | 643455423 | C1
#CF-PN
804 | 11 | P1 | 643455427 | C1
804 | 11 | P1 | 643455427 | C5
#CF-PN-UC
800 | 11 | P2 | 643455429 | C2
800 | 11 | P2 | 643455429 | C2
802 | 11 | P2 | 643455431 | C2
#CF-PN
800 | 11 | P3 | 643455423 | C1
804 | 11 | P3 | 643455433 | C2
#CF-PN-UC
802 | 11 | P3 | 643455425 | C3
804 | 11 | P3 | 643455433 | C3
#CF
802 | 11 | P2 | 643455431 | C1
802 | 11 | P4 | 643455425 | C2
#CF-PN-UC
801 | 12 | P1 | 643455424 | C2
801 | 12 | P1 | 643455424 | C2
805 | 12 | P1 | 643455434 | C2
#CF-PN-UC
805 | 12 | P3 | 643455428 | C1
805 | 12 | P3 | 643455428 | C1
#CF
805 | 12 | P1 | 643455434 | C3
801 | 12 | P3 | 643455430 | C3
#CF-PN-UC
803 | 14 | P1 | 643455432 | C1
803 | 14 | P1 | 643455432 | C1
#CF-PN
803 | 14 | P2 | 643455426 | C1
803 | 14 | P2 | 643455426 | C3
#CF
801 | 19 | P4 | 643455430 | C3
당신의 도움을 주셔서 감사합니다.
답변1
그것은 단지 주문의 문제입니다 :
head -2 input.file; tail -n +3 input.file | sort -t '|' -k2,2n -k3,3 -k5,5
이는 "열 2를 기준으로 숫자를 정렬합니다. 동점인 경우 열 3을 기준으로 정렬합니다. 동점인 경우 열 5를 기준으로 정렬합니다."를 의미합니다.