事前にアドバイスをお願いします。文字列キーでソートしてから整数でソートする(bash)
ファイルをタブ区切りのフィールドでソートしようとしています(下記参照)。重要なフィールドはフィールド1とフィールド2です。
ID(文字列値でソートされます)、次に大きい文字列(数値でソートされた文字列)で始まる位置です。
KI270036.1 5137 5523 -1
KI270036.1 5215 5636 -1
**KI270036.1 546 1448 -1**
KI270036.1 6364 7425 -1
KI270036.1 8687 9529 -1
KI270041.1 1957 2343 1
KI270041.1 3114 3423 1
KI270041.1 4792 5439 1
KI270041.1 5703 6308 1
これは、並べ替えようとしているテーブルの例です。最初のフィールドは必要に応じて順番に並んでいますが、ボールド体のフィールドは私の仕様に従って順不同です。
私が入力したコマンドをした
sort -g -t ' ' -k 1,2 my_file.txt
がどのように私はIDごとにグループ化されたレコードを達成するために、これを変更することができ、その後、2番目のフィールドで数値的にソートされましたか?
私は、この例で探しています出力は次のとおりです。
**KI270036.1 546 1448 -1**
KI270036.1 5137 5523 -1
KI270036.1 5215 5636 -1
KI270036.1 6364 7425 -1
KI270036.1 8687 9529 -1
KI270041.1 1957 2343 1
KI270041.1 3114 3423 1
KI270041.1 4792 5439 1
KI270041.1 5703 6308 1
を得るでしょう、あなたがフィールド1で始まるカラムとして 'KI270036.1'などでカラムを意味しています星を除去した後
フィールド2として「5137」? – dawg
はい、私は 'cut'と' awk'で使用されているコンベンションに行きます – libby