이상하게도 의도적인 행동이라는 뜻인 것 같지만 이해가 안 돼요.왜, 그리고 그것을 고치는 방법을 모릅니다.
작업은 5번째 열을 기준으로 정렬한 다음 4번째 열을 기준으로 정렬하는 것입니다.
grep -w RockDoveHPG_Transcript_21 xaa.blast| sort -gk5,5 -gk4,4
이것은 나에게 준다
RockDoveHPG_Transcript_21 XM_004941221.2 70.588 17 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 82.353 17 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 68.182 22 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 80.000 25 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 57.692 26 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 70.588 34 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 100.000 77 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 77.778 18 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 89.474 19 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 70.000 20 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 71.429 21 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 72.000 25 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 72.727 33 2.46e-80
RockDoveHPG_Transcript_21 XM_004941221.2 94.737 76 2.46e-80
...
RockDoveHPG_Transcript_21 XM_004941221.2 78.947 19 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 71.429 21 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 83.544 79 1.56e-43
5열은 잘 정렬되지만 이상적으로는 4열을 높은 것에서 낮은 것 순으로 정렬하고 싶습니다. 이제 낮은 것부터 높은 것까지. 아 플래그가 필요한거 같은데 -r
..
grep -w RockDoveHPG_Transcript_21 xaa.blast| sort -gk5,5 -r -gk4,4
이제 열 5는 반대 방향으로 정렬되지만 열 4는 괜찮습니다.
RockDoveHPG_Transcript_21 XM_004941221.2 83.544 79 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 71.429 21 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 78.947 19 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 68.750 16 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 86.667 15 1.56e-43
RockDoveHPG_Transcript_21 XM_004941221.2 85.526 76 6.22e-44
...
RockDoveHPG_Transcript_21 XM_004941221.2 100.000 77 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 70.588 34 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 57.692 26 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 80.000 25 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 68.182 22 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 82.353 17 4.17e-86
RockDoveHPG_Transcript_21 XM_004941221.2 70.588 17 4.17e-86
-r
따라서 기본적으로 플래그는 열별로 적용되지 않는 것처럼 보입니다 . 한 정렬 열의 순서를 바꾸면 다른 정렬 열의 순서도 바뀌게 됩니다.
내가 갖고 싶은 건
RockDoveHPG_Transcript_21 XM_004941221.2 100.000 77 4.17e-86
내 생각엔 맨 위로 돌아가기~해야 한다이는 Col5를 낮은 것에서 높은 것으로 정렬한 다음 Col 4를 높은 것에서 낮은 것으로 정렬하여 수행됩니다.
답변1
당신이 한 방식으로 추가하면 -r
다음과 같이 처리됩니다 .글로벌 옵션. 에서 info sort
:
"-k"로 지정된 정렬 필드 내의 위치에는 옵션 문자 "MbdfghinRrV"가 추가될 수 있습니다. 이 경우 특정 필드는 전역 정렬 옵션을 상속하지 않습니다.
이 문구를 주목하세요"붙여라"즉, 필드 4만 반전하려면 다음을 사용하세요.-gk4,4r
답변2
사용
grep -w RockDoveHPG_Transcript_21 xaa.blast| sort -gk5,5 -gk4,4r
r
마지막에 주목하세요 .