不思議なことに意図的な行動という意味のようですが、理解できません。なぜ、そしてそれを修正する方法がわかりません。
タスクは、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をローからハイにソートし、次にCol4をハイからローにソートすることによって行われる。
答え1
1つの方法で追加すると、-r
次のように処理されます。グローバルオプション。からinfo sort
:
「-k」で指定されたソートフィールド内の位置には、オプション文字「MbdfghinRrV」を追加できます。この場合、特定のフィールドはグローバルソートオプションを継承しません。
このフレーズに注意してください「貼って」つまり、フィールド4のみを反転するには、次のようにします。-gk4,4r
答え2
使用
grep -w RockDoveHPG_Transcript_21 xaa.blast| sort -gk5,5 -gk4,4r
r
最後に注意してください。